0

虽然 vim 的做事方式总体上不错,但我觉得有些方面确实阻碍了作为一个没有完全致力于 vim 进行文本编辑的人。

这意味着我在 Sublime Text 中点击Esc+/并在文件中输入斜杠,并在 vim 中点击Ctrl+ F,向下滚动页面。

Ctrl+S:w自定义映射也会发生类似的事情,;:它仍然不像Ctrl+那样方便和安全S。更不用说在 PuTTY 中,Ctrl+S 做了一些相当令人不安的事情(它暂停终端的输出,直到按下 Ctrl+Q)。基本上,恕我直言,有些事情(比如切换到“查找模式”并保存文件)很适合附加到全局左侧主行快捷方式和弦,而不是要求用户在模态命令行中搞乱。它经常被用来让用户接受这些模式变化。我想这不是一个合理的抱怨,因为整个 vim 都是围绕模态概念构建的,而这些功能就是由此产生的结果。

无论如何,我想让我的大脑更轻松一些,因为我已经尝试了一段时间来保持它完好无损,而且它太多了(我或多或少地内化了Ctrl在 Windows 机器上的切换一个桌面键盘和拇指Cmd在我的 Macbook 上的使用,但这种模态文本编辑器业务似乎太多了)。我没有经过太多深思熟虑就决定全局 Homerow 键和弦更直观。

将 Ctrl+S 映射到:w是微不足道的,所以这里的问题是关于查找模式的。我想绑定 Ctrl+F 让我进入查找模式,但重复它不应该在查找命令中键入斜杠。这可以做到吗?是否有一个冒号命令在执行时只是将我放入当前的 find-command-buffer-thing 中?

4

4 回答 4

2

在您的.vimrc添加中:

inoremap <C-f> <Esc>/
noremap <C-f> <Esc>/

无论您处于何种模式,这都会让您进入“查找”模式(实际上它只是在命令行中键入一个斜杠,您可以使用它来搜索)。使用这些绑定,即使您处于插入模式,它也适用于所有模式。

于 2013-03-18T16:39:49.977 回答
1

你想要这个吗?

nnoremap <c-f> /

如果你喜欢你也可以试试

nnoremap <c-f> q/

第二个映射将您带到搜索历史窗口。您可以选择以前的搜索关键字/模式。也可用于输入新图案(按i

顺便说一句,没有find模式

于 2013-03-18T16:35:53.463 回答
1

可以为 Vim 中的不同模式单独定义映射,请参阅:help map-modes. 这会自动处理您建议的<C-f>映射:最初,您处于normal mode,然后在command-line mode中输入搜索模式。

如果你到目前为止只是偶尔使用 Vim,并且觉得它太“不同”,有几件事可能会使切换变得更容易:

  • easy Vim (evimvim -y) 默认为插入模式
  • 在 Windows 上,:behave mswin脚本$VIMRUNTIME/mswin.vim创建一些常见的 Windows 快捷方式
  • 图形 GVIM 有菜单项,如编辑 > 查找...和工具栏。

有些事情,比如<C-s>码头的流量控制冻结是不幸的,主要是历史事故;你不能因为这些而责怪 Vim。

于 2013-03-18T17:12:45.243 回答
1

你不需要映射任何东西。/有足够的表现力,绝对不会比<C-f>. 同样<C-s>,尽管有一定的熟悉度,但并不比. 好多少:w<CR>。你正在学习一种新工具,记得吗?

你应该集中精力去适应 Vim 的模式。对您而言,进行搜索涉及点击这一简单事实表明<Esc>您没有获得该部分。您对在 ST 中使用 Vim 快捷方式和在 Vim 中使用 ST 快捷方式的其他评论也不是好兆头,您抱怨必须适应 Mac 的 Cmd 的部分是锦上添花,IMO。

这听起来可能很残酷,但是从您的问题来看,您似乎同时做的太多,没有组织,而且可能没有充分的理由。

从 Windows 切换到 Mac OS X并同时从 ST2 切换到 Vim 肯定会令人困惑,我建议你放慢速度,在你失去理智并浪费更多时间之前做出选择。

这让我想到了这个:你为什么使用 Mac 以及你为什么使用 Vim?

Windows 是一个很好的操作系统。Sublime 是一个很好的编辑器。即使你切换到 Mac,Sublime 也能很好地工作。那么为什么选择 Vim?

如果你厌倦了一些 Sublime 的限制并想要 Vim 的强大功能,那很好。但是你必须绕开它的形式和尴尬,并接受改变你的习惯。

如果你不以更大的灵活性接近 Vim,你将永远无法获得全部好处。

如果你决定使用 Vim 是因为它很时髦,我会恭敬地建议你停下来,回到 Sublime。Vim 很奇怪,Vim 不一样,Vim 很大,Vim 是个兔子洞……如果你还没有准备好使用它并坚持不接受它的核心设计,你就不会走得太远,何必呢?你几乎可以在不接触 Vim 的情况下完成你所有的职业生涯。这没有什么可耻的。

另一方面, 重新映射/到......</p><C-f>

于 2013-03-18T18:39:47.070 回答