为什么VIM将默认行导航(jk)设置为导航文件行而不是屏幕行.有什么用例需要这种行为吗?
我指的是这个特殊的插件 http://vim.wikia.com/wiki/Open_file_under_cursor
我尝试在vim网站上搜索,但我无法找到它.谷歌搜索了很多,但没有运气.
谁能指出我正确的链接?
我在Github项目中找到了这个屏幕截图,我真的想试试这个编辑器:https: //github.com/nicklasos/numix-molokai/blob/master/numix-molokai.png
我以为它是gvim,但是我安装的gvim(包gnome-vim)看起来很像那个应用程序.
我只是缺少一些配置,或vim插件到那里?
背景场景:当我调试一个VimScript时,某些代码不会被执行.原因是unmap引发了一个错误,VimScript退出此错误.因为代码周围有一个空的try-catch,所以问题不是很明显.在最终找到问题之后,我开始认为这个默认行为可能不是很直观.
这是一些简单的代码,用于说明vim报告在实验上删除不存在的映射时出错.它会在最后一行失败,说是"E31:没有这样的映射".
map <F10> :echo 'hello'
unmap <F10>
unmap <F10>
Run Code Online (Sandbox Code Playgroud)
不幸的是,我找不到关于这种行为的任何文档.有人能指出我在哪里可以解释删除不存在的映射吗?这个设计背后的理性是什么?就个人而言,我会认为删除不存在的映射是一个正常的声明,并像往常一样继续.
编辑:这个问题可能存在一些误解.我不是问如何抑制错误.我想知道为什么vim认为删除一个不存在的映射是一个错误.这么严重吗?
正如答案和评论中所指出的那样,当它可以执行操作时,引发一个错误是unix哲学.我完全同意它,但在shell中,脚本默认继续出错,因此不应该应用相同的推理.
PS:正如推荐的那样,这个问题已经转移到了vim-dev.
123|abc|dog
4a6|adc|cat
...
Run Code Online (Sandbox Code Playgroud)
我想摆脱第一个'|'的所有角色 在VIM的每一行.结果将是:
abc|dog
adc|cat
...
Run Code Online (Sandbox Code Playgroud) 我知道后者不起作用,前者是正确的,但是有没有一个句法问题会导致第二种方法错误?
cd~把我带到我的主目录,为什么vim~.vimrc没有工作?为什么需要"/"?
我对vim感到很沮丧(我正在使用macvim).当我想进入插入模式时,会感到沮丧.我点击一个区域,有时它进入另一种模式,视觉插入或类似的东西.
有时当我单击选择文本并尝试进入插入模式以开始重写所选文本时,这不起作用或整行被删除.
当它进入插入模式时,光标向左移动而不是向右移动,因此我总是需要重新调整它.这意味着如果我在行的末尾开始游标:System.out.print(); 因为我想添加让我们说一个评论,光标将最终在之间;); 而不是它的右边,我总是先移动它.
这些都是一些挫折.每个人都说vim是如此美妙,但我开始觉得它更像是一种痛苦而不是它的价值.
我不知道我做错了什么.我一定不能得到它或理解它的一些东西.有什么想法吗?
当光标位于括号内时,我想突出显示括号内的内容。我如何在 Vim 中做到这一点?我可以通过 Google 找到的插件仅在光标位于括号本身时突出显示匹配项,因此我无法使用它们来解决我的问题。我无法找出一个好的正则表达式来用于解释嵌套,因此语法突出显示定义似乎不是一个好方法。
vim ×9
key-bindings ×1
macvim ×1
mapping ×1
match ×1
parentheses ×1
plugins ×1
terminal ×1
vim-plugin ×1