0

CTRL+を使用してvimにファイルを保存しようとしましたS私はこのリンクhttp://vim.wikia.com/wiki/Map_Ctrl-S_to_save_current_or_new_filesに出くわし、それに応じてこれらのコードをそれぞれ.basrcとvimrcに追加しました。

vim()
{
local STTYOPTS="$(stty --save)"
stty stop '' -ixoff
command vim "$@"
stty "$STTYOPTS"
}

nmap <C-s> :wq!<cr>

今すぐOK CTRL+Sファイルを保存します。ただしTAB、挿入モードでは機能しなくなりました。を押すTABと、カーソルが現在の行の最初の列に戻ります!! 解決策はありますか?

4

1 に答える 1

2

:nmap通常モードでのマッピングのみを定義します。挿入モードの場合は、(通常、再マッピングを行う必要がない限り)を使用:imap:inoremap、最初に<C-o>(単一のコマンドの場合)または(とにかく<Esc>バッファを残したいので、ここではより適切です)を追加して挿入モードを終了します。 :quit

:inoremap <C-s> <C-o>:wq!<cr>

ところで、あなたもバッファを終了したいのは面白いと思います。私にとって、マッピングは編集の途中ですばやく入力できるので便利です。これにより、変更を頻繁に保持できます。

" Use CTRL-S for saving, also in Insert mode
:nnoremap <C-S>     :<C-U>update<CR>
:vnoremap <C-S>     :<C-U>update<CR>gv
:cnoremap <C-S>     <C-C>:update<CR>
:inoremap <C-S>     <C-O>:update<CR>
于 2012-12-30T06:36:48.123 に答える