主なテキスト エディターとして gvim を使用することにしましたが、使い慣れた他のビジュアル エディターのように動作するようにしたいと考えています。その1つの側面は、ラップを有効にして(set linebreak
)矢印キー<Up>
を使用し、挿入モードで、カーソルを論理行ではなく前/次の画面<Down>
行に移動したいということです。これは、マッピングを使用して実現できます。
inoremap <Up> <C-O>gk
inoremap <Down> <C-O>gj
...そして、すべて問題ありません。
ただし、選択モードでは。を使用している間、期待どおりに機能し<S-Right>
、論理的な行に関しても移動します。http://vim.wikia.comで、追加のマッピングに関する次の提案を見つけました。<S-Left>
<S-Up>
<S-Down>
noremap <S-Up> vgk
noremap <S-Down> vgj
inoremap <S-Up> <C-O>vgk
inoremap <S-Down> <C-O>vgj
後者の 2 つのマッピングにより、挿入モードで を押して選択を開始<S-Down>
すると、前の位置から次の画面行の同じ位置まで選択できるようになりました。しかし、すでに選択している場合 (すでに選択モードになっている場合)、 を押すと<S-Down>
1 行下に移動しますが、選択は失われます。
これを達成するには、選択モード ( ) に特定のマッピングが必要であると予想されますsnoremap
が、その方法を理解することができませんでした。
選択モードが役に立たないかどうかについての glts との議論のため、おそらくいくつかの背景情報が適切です: 選択モードは、MS Windows、Mac OS、さらには、 IBM の CUAに触発された Linux も含まれています。付属のキーボード マッピング ^C、^X、^V でのみ実際に役立つため、mswin.vim
これらのマッピングを提供する と組み合わせて使用することを意図しています。私の質問は、ラップされたテキストに対しても選択モードが期待どおりに機能するように、これらのマッピングを補完しようとする試みによって動機付けられています。