Vim (ヴィム・ヴィーアイエム・Vi IMproved)とは、クロスプラットフォームのテキストエディタの一つ。BSD公開の為に開発されたvi(Visual InterfaceまたはVIsual editor)の改良版として開発された。カスタマイズ性が高く、設定ファイルを用いることで幅広い個人設定が可能となっている。
Questions tagged [vim]
169 questions
17
votes
2 answers
vi(vim)で完全にカーソルキーを無効化させたい
学生にviを学習させたいのですが、カーソルキーを使うことを抑制するためのvimrc周辺を教えて下さい。
最終的にはchattr +iで普通には削除できなくする予定です。

fugahogeds
- 317
- 2
- 6
8
votes
3 answers
vimの設定確認で絞込や検索はできますか?
vimで以下のようにコマンドを入力すると設定が一覧で確認できるのですが、出力される結果が多すぎて見辛いと思っています。出力結果は何かページャーの様な感じで表示されるのですが、内容をキーワードで検索したり、絞り込んだりできないでしょうか?もしくは出力結果を何か便利なページャーに差替えて表示することは可能でしょうか?
変数の確認
:let
...
... 変数の一覧
...
オプションの確認
:set
...
... 変数の一覧
...
マッピングの確認
:map
...
...…

fukusuke
- 285
- 1
- 2
- 11
6
votes
3 answers
Vimで、複数の行を別の場所へ移動後、インデントを修正する方法
コーディング中にいつも迷う操作なのですが、
ある複数の行を別の場所に移動した後にインデントを修正したい場合に、
効率のよい方法はありますでしょうか。
Before
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
{
bbbbbbbbbbbbbb
bbbbbbbbbbbbbb
cccccccccccccc
cccccccccccccc
cccccccccccccc
…

andou
- 689
- 1
- 4
- 14
6
votes
2 answers
Vim起動時にウィンドウ縦分割→右側にファイルを開く方法
Vim起動時に、ウィンドウを縦分割し、右側のウィンドウに特定のファイルを開く、といった動作を行いたいのですが、うまくいきません。
分割まではできたのですが、.vimrc上で起動時にキー操作を実行する方法はありますでしょうか。
if has('vim_starting')
vsplit
" l を実行したい
e ~/Documents/memo.md
" h を実行したい
endif

noboru
- 83
- 8
5
votes
1 answer
vimのキーバインドでctrl+;を使いたい
vimのキーバインドでCtrl;をインサートモードで利用したいと考えています。
inoremap
で登録しても機能しません。
C-;を利用したいので、どのように記述をすればいいのか、分かる方教えて下さい。

udmmkun
- 51
- 2
5
votes
1 answer
vim scriptでインデントがしたい
次の8行だけのvimrcを書きました。
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
function! F()
>>
endfunction
nmap z :call…

brasizy
- 180
- 1
- 9
5
votes
3 answers
vimでカーソル位置を維持しつつ最終行へ移動
表題通りなんですが、vimでカーソル位置を維持しつつ最終行へ移動するにはどうすればよいでしょうか?
以下のような場面で使いたいのです。
例えばTSVファイルで2015/10/22の2に移動してから、CTRL-Vで短形ヴィジュアル選択し、Gで最終行へ移動します。で、2の位置まで移動してからrキーで一文字変更しています。
例えばgGと入力すると、カーソル位置が維持されて移動の必要がなければ便利なんですが・・・
上記はあくまで例なので、置換すればいいんじゃない?等の回答もあるかと思いますが、
あくまで…

るらら
- 53
- 3
4
votes
1 answer
text object : `\(` などをエスケープせずに扱いたい
以下 . をカーソルの位置とします.
以下のテキストについて
(red \(blue) green)
ここでカーソルを
(r.ed \(blue) green)
(red \(bl.ue) green)
などとして vi) すると red \(blue までが選択され,
(red \(blue) gr.een)
ここでは機能しません.…

Yosh
- 1,293
- 1
- 11
- 30
4
votes
3 answers
Vim7.4でタブ幅の設定が反映されない
Vim7.4でタブ幅の設定が反映されません。タブ(\t)がスペース4つ分で表示されるべきなのですが、8つ分で表示されてしまいます。
下のようにvimrcに設定しているのでtabキーを押すとスペース4つが入力され、
タブ(\t)の表示もスペース4つ分の幅になるはずだと思うのですが、
(\t)がスペース8つ分で表示されてしまいます。
システムに付属するvim7.3はきちんと表示されるのですが、Homebrewでインストールしたvim7.4ではきちんと表示されません。
set…

KiYugadgeter
- 4,358
- 6
- 60
- 110
4
votes
2 answers
Vimをデーモンとして立ち上げる方法を教えて下さい。
Vimをデーモンとして立ち上げる方法を探しています。
Vimのプロセスを常に起動しておき、ターミナルからアクセスする時に
毎回同じプロセスのvimを使いたいと思っています。
理由としては、Vimのプラグインであるjedi-vimを使っているのですが、
毎回numpyなどの大きなライブラリを補完すると、初期化が走りしばらく待たされます。
二回目からはメモリ上にキャッシュされるらしいので、非常に早くていいのですが、
うっかりVimを閉じてしまうと、再度起動した時に再び読み込みがされるので面倒です。
…

Atsushi Sakai
- 213
- 3
- 11
4
votes
1 answer
vim起動の際、W18: Invalid character in group name が出力される
vimを起動の際、画像の様にW18: Invalid character in group nameが出力されます。
利用上、特に問題点などはありませんが、毎回出力されるので不安です。
解決法をご存知の方ご助言を宜しくお願いします。
user18988
4
votes
2 answers
VimのNERDTreeでgrepができません。
grep_menuitem.vimを利用して、NERDTreeでgrepできるようにしたいのですが、画像のようなエラーを吐き、うまくいきません。
行った手順はgrep_menuitem.vimを~/.vim/bundle/nerdtree/nerdtree_plugin/以下に配置しただけです。
なにか、情報をお持ちの方がいらっしゃいましたら、ご教示いただけると幸いです。

c8112002
- 176
- 1
- 9
4
votes
1 answer
Vim にペーストすると改行の数が多くなってしまいます
秀丸やWindowsメモ帳やブラウザのコピペのテキストをPuTTYのVimでコピペすると(右クリック)改行の数が多くなってしまいます。Vimの設定をすべて空白にすると普通にコピペされます。
設定はこちらです
~/.vimrc
1 set number
2 set title
3 set ambiwidth=double
4 set tabstop=4
5 set expandtab
6 set shiftwidth=4
7 set smartindent
8 set list
9 set…

パソコンの人
- 721
- 2
- 19
- 42
4
votes
2 answers
vim終了時にイベントを起こしたい。
:wqとかでvimを終了した際に
「今日もお疲れ様」などをshellのsayコマンドを通して
鳴らしたいのですが、どうすれば良いでしょうか?

chiler
- 43
- 2
3
votes
2 answers
echoerr された内容を Vim の終了後に確認したい
:qa や :qa! して Vim を終了する際,エンターキーを叩いてから画面が消えるまでの一瞬の間に, 稀に terminal の下端に赤色がちらつくことがあるのに気づきました.場所と色からいって何かが echoerr されたのに違いないのですが,再現条件が不明な上メッセージを読めないので何が起こったのかさっぱりわかりません.
Vim の終了後にも echoerr の内容を辿れるようにすることは可能でしょうか.

Yosh
- 1,293
- 1
- 11
- 30