linux vim 怎么实现代码补全的啊?
还有,我想删除上一行下一行必须先按ESC然后输入dd么
不能再 插入模式下用快捷键直接删除上一行或者下一行吗?
就像eclipse下用ctrl+d ctrl+alt+↑那样直接用的快捷键,不用切换模式的?
我用习惯eclipse了,之前没用过vim……所以想问问技巧 展开
vim 比较灵活,有自己的习惯的话,可以把它们加到 vim 里。
如果楼主希望在插入模式里,用 ctrl-d 它来实现删除当前行的话,只要将如下语句加到 vimrc 文件即可:
inoremap <C-D> <C-o>dd
<c-o> 用于在插入模式下暂时执行一个普通模式下的命令,执行后返回插入模式。
所以加了上面那个映射之后,ctrl-d 就相当于 eclipse 下的删除当前行了。不过定义这个映射之后,ctrl-d 本来的功能(减少当前行的缩进)就会被覆盖。
我没用过 eclipse,ctrl-alt-up 是什么功能也不知道。不过原理类似,想用 vim 模拟一些其它编辑器的快捷键不会很困难。
至于那个 for 的补全,可能是一些插件。有不少人开发了 vim 的插件以方便书写代码,原理基本上是一些替换。
最简单的比如:
iabbr fori for (int i = 0; i < 10; i++)
加在 vimrc 里(如果只是想试验一下,只要按冒号再照敲上面的语句就可以了),之后写码的时候只要写 fori 空格回车之类的随你,就会被自己替换成你之前定义好的代码。当然要想让这个自己替换的工作更方便好用,比如补全之后把光标停在第二个分句的 i < 后面等等之类的功能,就需要更复杂的定义。
vim 有很强的扩展能力,可以用来增强它的工作效率。插件楼主可以去官网上搜,不过越是方便的插件可能就越复杂,用起来可能也就越不顺手(因为操作习惯很可能和自己需要的很不一致),学习起来的难度一般也越大。
哇!果然是这么实现的啊。但还想请教一个问题
我习惯eclipse的按键了 基本都是这么设置的,但SHIFT+ENTER却是无效的
我设置的是 imap
但无效,是因为terminal的按键起冲突了么?
怎么实现啊?
alt 键在终端里使用是容易出现问题。原因比较复杂,我以前也遇到过,不过后来没仔细研究。
你可以试试这个脚本: