X



Vim Part28

■ このスレッドは過去ログ倉庫に格納されています
0440名無しさん@お腹いっぱい。
垢版 |
2018/09/16(日) 22:23:01.05
vimで例えばiをaにnoremapすると、ciwとかのときにもcawって認識されるじゃないですか
単一コマンドのときだけremapして、ciwみたいなときだけ元々のキーにする方法ありませんか?
0443名無しさん@お腹いっぱい。
垢版 |
2018/09/16(日) 23:44:56.82
noremapの代わりにlangmapするってことでしたら連続したコマンドのときもmap先に固定されませんか?
0446名無しさん@お腹いっぱい。
垢版 |
2018/09/17(月) 08:21:24.65
>>440
c のようなコマンドの後続部分は「オペレータ待機モード」のマップの範疇なので
:noremap i a
:ounmap i

ただこの場合は単に
:nnoremap i a
で良い気がするけど

https://vim-jp.org/vimdoc-ja/map.html#omap-info
> あるマップをノーマルモードとビジュアルモードで使用し、そして、オペレータ待機
> モードでは使用しないという場合は、3つのモードに対してマップを定義してからオペ
> レータ待機モードのマップだけを削除します:
> :map xx something-difficult
> :ounmap xx
> ビジュアルモードとオペレータ待機モードの場合や、ノーマルモードとオペレータ待機
> モードの場合も同様にします。
0447名無しさん@お腹いっぱい。
垢版 |
2018/09/17(月) 21:04:37.11
今あるのはviじゃなくてnviじゃね?
unixのコードを取っ払って作り直したvi
軽さ以外であえてこれを使う意味なさそうだけど
0448名無しさん@お腹いっぱい。
垢版 |
2018/09/18(火) 01:53:06.93
vimの矩形貼り付けが覚えられないんだけどいい方法ない?矩形挿入は覚えたけど
プラグインはどれ入れればいいか分からんし管理も面倒っぽいし入れてない
0449名無しさん@お腹いっぱい。
垢版 |
2018/09/19(水) 13:05:35.08
ビジュアルブロックモードで
??????????
?????? ??????
?????????? ????????
????????
????????????



??????????
??????
?????????? ??????
???????? ????????
????????????

ってするのどうやるんや???
0452名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 07:41:11.87
空白行を同数の空白行に変えるだけなので、何もしなくてよい。
HTMLタグをミスって表示されていないだけなら、本人の釈明があるまで放置しておけばよい。
0455名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 20:18:21.47
Vimで地域化されている単語を利用する方法ってある?
うまく説明できるか怪しんだけども
言語環境変数を日本語でVim(huge版)を起動した時は挿入モードに入るとコマンドラインに「-- 挿入 --」という文字が表示されるのに対して
言語環境変数が英語の場合は「-- INSERT --」という表示になるよね。
この処理を拾えないかな。

具体的には,現在のモードをstatuslineにテキストとして反映したい。
その時に英語で立ち上げたときは「INSERT」,日本語で立ち上げたときには「挿入」みたいな表示になってほしい。
0456名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 21:24:52.53
>>455ですが質問をとりけします。
statuslineは扱えるコマンドが貧弱すぎて仮に上述が実現したとしても望む表示は得られないと判断しました。
0458名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 23:58:02.64
>>457
LANG=C vim
で起動した場合はA表示して
LANG=ja_JP.UTF-8 vim
で起動した場合はBを表示
っていうふうにしたいんだわ。
if v:lang='ja_JP'
みたいにしたらいいのは知ってるけど
AやBは翻訳されてる対応関係があるので(INSERTと挿入)
せっかくならそれを利用したい。
0460名無しさん@お腹いっぱい。
垢版 |
2018/09/21(金) 14:34:53.98
>>455
Pythonインターフェースが有効なVimなら、Pythonのgettextモジュールが使える
素のVim scriptにはなさそう

https://pastebin.com/FTq4Mb3H

ついでに statusline の設定にも挑戦してみたけど、i_CTRL-O のとき期待通りにならなかった
挿入モードで CTRL-O したときの mode() の値は 'niI' だと思ったのだけど、実際には 'n' になってる
set statusline=%!mode() で確認できる
0462名無しさん@お腹いっぱい。
垢版 |
2018/09/21(金) 18:31:26.25
>>461
おお、できた

:help mode() の一段落目にちゃんと書いてあるじゃんね
最初からその下の表とばっかり睨めっこして、完全に見落としてました
ありがとう
0463名無しさん@お腹いっぱい。
垢版 |
2018/09/22(土) 16:38:23.18
Vimのleaderをスペースに割り当てようと思ってるんだけど、暗黒美夢王とかのdotfile見るとそのままスペース+他コマンドってやってて

Leaderとしてのスペースとそのままのスペースの違いってleaderに制限時間あるだけ?
0464名無しさん@お腹いっぱい。
垢版 |
2018/09/23(日) 07:55:11.55
>>460
すいません。まさか答えてもらえるとは思えず
返信が遅れてしまいました。
まさにそのようなステータスラインが欲しかったので
ほんとうに感謝しています!
0465名無しさん@お腹いっぱい。
垢版 |
2018/09/23(日) 09:04:08.46
>>463
複数キーのマッピングに制限時間があるかどうかは 'timeout' オプションで制御されるのであって、leaderかどうかは関係ないはず
0466名無しさん@お腹いっぱい。
垢版 |
2018/09/23(日) 14:23:59.75
ヘルプを引かずにvimコマンドの一覧を出す方法ないですかね
索引とは言わんからbashのhelpみたいな要約が欲しい
0472名無しさん@お腹いっぱい。
垢版 |
2018/09/23(日) 22:07:52.59
失礼します
Vimで

#include <stdio.h>
int main() {
printf("Hello World");
return 0;
}

の intのiにカーソルがある場合、jで下に移動するとiの真下のスペースに改行がいきますが、インデントを考慮して、printfのpに下移動するにはどうしたら良いでしょうか?
0473名無しさん@お腹いっぱい。
垢版 |
2018/09/23(日) 22:08:48.19
スペースが省略されてますが、printfとreturnの前に4文字スペースのインデントを入れたつもりでした
すみません
0479名無しさん@お腹いっぱい。
垢版 |
2018/09/24(月) 03:34:58.23
>>468
これ誰か分かりますか。
0481名無しさん@お腹いっぱい。
垢版 |
2018/09/24(月) 19:47:03.34
>>479
vim foo.vim
してインサートモードで
:!<C-x><C-v>
とかか?
スクリプトからなら、例えば
echo getcompletion(‘v’, ‘shellcmd’)
ってすれば、viewやVimやvimdiffやもろもろ表示されるから上手いこと使って。
0483名無しさん@お腹いっぱい。
垢版 |
2018/09/25(火) 08:04:20.99
raspbianでvimprocビルドしようとすると
セグメンテーションフォルト出るのですが
どうしたらできますか?
0484名無しさん@お腹いっぱい。
垢版 |
2018/09/25(火) 08:42:46.53
Linuxのエディタと言えばvimとEmacsだけど他のエディタが普及しなかったのはなぜなんだろうか
nanoの登場からまだ20年経ってないし当時はvi系以外の選択肢がなかったにしてもだな
Ctrl-Aを使う普遍的なキーバインドのCUIエディタが一向に導入されない理由にはならんだろうよ
対してBSDはそれが使えるeeがあるらしいし
別にviへの不満じゃないからgedit使えとか益体もないのはなしで頼む
0486483
垢版 |
2018/09/25(火) 18:13:15.28
>>485
情報ありがとうございます
普通にできるはずなんですね・・
もう少しがんばってみます

Linux raspberrypi 4.14.61-v7
で以下のようになってしまいます

~/.vim/bundle/vimproc.vim $ make
make -f make_unix.mak
make[1]: ディレクトリ '/home/pi/.vim/bundle/vimproc.vim' に入ります
cc -W -O2 -Wall -Wno-unused -Wno-unused-parameter -std=gnu99 -pedantic -shared -fPIC -o lib/vimproc_unix.so src/proc.c -lutil
<built-in>: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions.
make_unix.mak:17: ターゲット 'lib/vimproc_unix.so' のレシピで失敗しました
0489名無しさん@お腹いっぱい。
垢版 |
2018/09/28(金) 09:46:46.22
Vimの:Manプラグイン,日本語の見出しがおかしくなってるんだけど
俺の力ではそもそもなにが駄目なのかすら分からん……
誰か修正できる人いない?
0490名無しさん@お腹いっぱい。
垢版 |
2018/09/28(金) 22:02:06.17
Vimでcppを今日初めて書いたのですが、
インサートモードでstd::cin の::打つ時に、1つ目の:の時にインデントが削除され、文ごと行の最初にいきます。(分かりづらくてすみません)
2個目のコロンを打つと直るのですが、文を移動させない方法はありますか?また、どうしてこのような挙動なのでしょうか
0491名無しさん@お腹いっぱい。
垢版 |
2018/09/28(金) 22:45:33.67
C言語やC++言語ではラベルつけるときにインデントを一つ下げる習慣があるからじゃない。
void main(){
std::cout << "test";
label1:
std::cout << "label";
goto label1;
}
2回連続::をシュパパパって入力すれば問題解決じゃない?
0502名無しさん@お腹いっぱい。
垢版 |
2018/09/29(土) 10:51:39.64
それ manコマンドのバグだよ。
shellから
man -u MANPAGER man
だとちゃんと画面に表示されるけど、
man -u MANPAGER man > foo
だとエラーが30行くらい表示された挙句、fooの内容は日本語見出しが欠けてる。
0504名無しさん@お腹いっぱい。
垢版 |
2018/09/29(土) 15:48:51.20
manページを保存した時に出るあのエラーやっぱりバグか
じっくり読もうと思ったら一部が欠落してがっかりしたからな
0506名無しさん@お腹いっぱい。
垢版 |
2018/09/30(日) 00:08:31.05
c系コマンドでヤンクされるのってデフォルトですか?
0510名無しさん@お腹いっぱい。
垢版 |
2018/10/03(水) 00:12:34.82
set smartindentしてるとシェルスクリプト書いてるときに
字下げブロック内部でも#コメントが行頭に行ってしまう。
多分だけどCなんかのプリプロセス命令と同じ扱いになってるんだろう。
なんで「smart」indentなのにこんなお馬鹿なのか
0512名無しさん@お腹いっぱい。
垢版 |
2018/10/03(水) 06:52:51.43
日頃でvim使ってる奴って覚えるのにどれくらいかかった?
仕事で使ってる奴は尻に火が付いた状態だから参考にならんし除外で
vimよりLinuxの基本コマンド身に付ける方が先かもしれんが
0523名無しさん@お腹いっぱい。
垢版 |
2018/10/06(土) 20:52:03.59
入力途中のキーがコマンドラインの右端に表示されますけど、この文字数を増やすことってできますか?
キーマップを [one-two-three]a に設定したとして
[one-two-three] まで打ち込むと頭が切れて two-three] な状態になってしまう
0524名無しさん@お腹いっぱい。
垢版 |
2018/10/09(火) 23:27:53.24
neovimのフロントエンド
どれもgvimに比べて微妙すぎる…
oniもデカイファイル扱ってると挙動おかしくてイライラするー
0527名無しさん@お腹いっぱい。
垢版 |
2018/10/10(水) 23:45:10.03
Vimの上級者の人は日本語入力とモードの関係で困ったりしないもの?教えて欲しい。

時々ノーマルモードでIME ONになっていてあちゃーという事がよくある。特にブラウザとか他のアプリから戻った時。

例えばブラウザで何かを検索して、Vimに戻りカーソル動かしたり何かしようとするとIME ONだった、、、となることがあるのだけど。
0528名無しさん@お腹いっぱい。
垢版 |
2018/10/12(金) 07:38:21.55
xfceとfcitx-mozcだけど俺もなるぞ
別のウィンドウに移っただけでIMが勝手にONになる現象
そのくせ必ず起こる訳じゃないから原因特定のしようがない
それっぽい設定はないし端末弄ってる時に限って変わるのは勘弁して欲しい
0529名無しさん@お腹いっぱい。
垢版 |
2018/10/13(土) 08:40:45.55
俺の環境だと全く問題になったことないな
完全にウインドウ毎にONOFFの状態が分かれてる
ターミナルエミュレータも同じのいくつも開いてるけどそれもそれぞれ状態持ってる
gvimは使ってないけど多分それでも問題は起きないはず
0530名無しさん@お腹いっぱい。
垢版 |
2018/10/13(土) 09:49:35.81
流れをぶった切ってしまってすいません。質問があります
コマンドラインモードにて、<C-k>を「カーソル位置から行末まで削除」という機能にマップしたいのですがどうすればいいでしょうか。

例えば「カーソル位置がどこであってもコマンドライン全体を消去」という機能ならば
cnoremap <C-k> <End><C-u>
などとすれば可能ですが、Vimのコマンドラインモードには「カーソル位置を取得して云々」といった機能がないように思えます。
(僕の探し方が悪いのかもしれませんが)
https://vim-jp.org/vimdoc-ja/cmdline.html#cmdline-editing

GNU Bashなどのシェルでは(既定で)Ctrl+Kに「行末まで削除」がバインドされていることが多く、それとVimでの挙動とを合わせたいのです。
どうかよろしくおねがいします。
0531名無しさん@お腹いっぱい。
垢版 |
2018/10/13(土) 10:20:06.48
<Del>が最後のとき前の文字消しちゃわなければできるんだけどね
普通に<Del>使ってるときにも行きすぎて困ることがよくある
0538530
垢版 |
2018/10/14(日) 23:30:24.75
>>532
>>534
ありがとうございます! 解決しました!
getmcdpos()関数なんてあったんですね。
僕はいったいどのような探し方をしていたのでしょうか……
■ このスレッドは過去ログ倉庫に格納されています