'keymodel' 'km' string (default "")
global
{not in Vi}
List of comma separated words, which enable special things that keys
can do. These values can be used:
startsel Using a shifted special key starts selection (either
Select mode or Visual mode, depending on "key" being
present in 'selectmode').
stopsel Using a not-shifted special key stops selection.
Special keys in this context are the cursor keys, <End>, <Home>,
<PageUp> and <PageDown>.
The 'keymodel' option is set by the |:behave| command.
" activate visual mode in normal mode
nmap <S-Up> V
nmap <S-Down> V
" these are mapped in visual mode
vmap <S-Up> k
vmap <S-Down> j
"
" etc...
" similarly <S-Left>, <S-Right> for v
9条答案
按热度按时间uujelgoq1#
我用插入模式的Map完成了@ escrawfordMap:
同样,像这样Map通常的复制/剪切/粘贴,您可以在选择+复制后返回插入模式。
现在你可以在任何模式下开始shift+箭头选择,然后C-c复制,C-v粘贴。你总是在插入模式下结束,所以你也可以C-z撤销。
我认为这更接近于于所要求的文本编辑器的“预期标准”行为。
hs1ihplo2#
对此有一个特定的选项:
keymodel
:如果您还想在使用
<Up>
或<Down>
时退出可视模式,而不按下<Shift>
,则可以使用:3gtaxfhh3#
与progo的回答略有不同--这给人的感觉与mac应用程序通常的感觉相同:
不同之处在于切换到视觉模式而不是视觉线模式,并且不会丢失初始上/下等按键。
w1jd8yoj4#
在我看来,Vim并不那么容易弯曲。在我的情况下,终端甚至不识别Shift-Up!我认为
v
(字符选择)或V
(行选择)是学习vi/vim的最容易的概念之一。如果这工作(现在不能测试),这是你想要的东西:
gstyhher5#
我发现了另一个更容易执行的解决方案。命令':behavior mswin'做了所有需要使用shift加光标键来选择文本的事情。可以在任何模式下工作。它还支持Cmd-c,Cmd-v和Cmd-x。它可以在MacVim中工作,但我没有尝试过其他平台。
anauzrmj6#
强烈建议您不要重新Map此功能。简单地切换到可视化模式并使用
v
和箭头键是一个更好的主意。V
将选择整行。v$
将选择到行尾,vw
将选择下一个单词。还有很多命令可以用来选择不同的行和单词。学习这些命令不仅有助于选择文件,而且有助于更有效地编辑文件。d7v8vwbk7#
此Map在选择期间保持插入模式(视觉模式),并从正确的位置开始。您也可以使用Ctrl-Shift-Left/Right(如果您的终端支持)向左或向右选择单词:
这对于在插入模式下快速选择小零件可能很有用,但我建议使用默认命令来选择较大的零件。
9rnv2umw8#
我写这篇文章是为了能够在插入、可视和正常模式下使用
Alt+hjkl
(和朋友)导航和使用Alt+HJLK
选择。所以同样的方法也适用于普通的箭头键
slmsl1lt9#
修改自@RubenCaro的回答。
问题是:when escaping from insert mode, the cursor will be shifted to the left by one.当使用或时,这会导致不直观的选择。如果你碰巧也在插入模式下使用条形光标,这会更明显。
以下代码中的
vlvv
补偿了该偏移。