开源项目Trac有一个很好的差异荧光笔 – 突出变化的行和每个变化的行更改字节 ! 有关示例,请参阅https://trac.transmissionbt.com/changeset/12148或http://trac.gajim.org/changeset/297ad7711d20bfee1491768640d9bc5384464363 。 有没有办法使用相同的颜色突出显示(即更改行和更改的字节 )在bashterminal,git或vim 的差异输出(补丁文件) ?
我试图从一个标签切换到VIM中的另一个标签(它可能与前一个标签不相邻)。 有没有什么捷径,就像我们有Ctrl – p / Ctrl – n切换到相邻的标签? 另外,我试图编写一个键映射,它会给一个variables作为一个函数的input并执行操作。 例如,假设我按Ctrl – 5 ,一个函数(由用户编写)将被调用,并作为input5给出,光标将进入选项卡5(如果有任何第五个选项卡打开)。 你能build议如何做到这一点?
大多数情况下,Vim中的自动完成function对我来说很好,但有时它似乎是扫描当前文件引用的文件,然后变得非常慢,有时需要几秒钟的时间才能将焦点释放给我。 有时候Vim简单地告诉我,这是“扫描”,其他时间是“扫描标签” 我只在Ruby文件中发生过这种情况,而且这种情况大多发生在文件中有需求的情况下。 我的猜测是,这是某种function,检查相关的文件的自动完成选项,但我并不真的需要,并希望更快的自动完成。
有些东西可以从IDE中借用。 所以这个想法是突出显示函数体内的函数参数(也可能是范围variables名)。 这是一些C的默认行为: 那么,如果我把光标放在func我希望看到突出显示的foo和bar参数更好地遵循algorithm逻辑。 请注意, func2名称相似的foo不会被高亮显示。 这豪华可以省略,但… 使用本地作用域variables,我也想在本地初始化variableshighlit: 最后重新展示奢华: 写这个不是很微不足道。 我用C来给出一个大概的想法。 真的,我可以更好地使用Scheme / Clojure编程: 这应该承认let , loop ,例如doseq绑定。 我的vimscript-fu不是那么强大。 我怀疑我们需要 parsing(非正则expression式?)来自游标下的函数定义的参数。 这当然是语言特定的。 我的首要任务是Clojure。 定义一个语法区域来覆盖给定的函数/范围 给出所需的语法匹配 作为一个函数,这可以映射到一个键(如果非常耗费资源)或CursorMoved如果不是很慢)。 好吧,现在 有没有人写/find这样的东西? vimscript大师有一个关于如何真正开始写这样的脚本的想法吗? 对不起,有点偏离和不好的格式。 随意编辑/格式。 或者投票结束。
我在Windows上使用gvim。 在我的_vimrc我补充说: set shell=powershell.exe set shellcmdflag=-c set shellpipe=> set shellredir=> function! Test() echo system("dir -name") endfunction command! -nargs=0 Test :call Test() 如果我执行这个function(:testing),我看到无意义的字符(非数字/字母ASCII字符)。 如果我使用cmd作为shell,它可以工作(没有-name),所以问题似乎是从powershell输出到vim。 有趣的是,这个工程很好: :!dir -name 如下所示: :r !dir -name 更新:确认大卫提到的行为 如果你在_vimrc中执行上面提到的set命令,那么:Test将会输出无意义的结果。 但是,如果您直接在vim中而不是在_vimrc中执行它们,则:Test将按预期工作。 另外,我试过使用iconv,以防万一它是一个编码问题: :echo iconv( system("dir -name"), "unicode", &enc ) 但是这没有什么区别。 我可能会使用错误的编码types。 任何人都知道如何做这个工作?
我计划在接下来的几天内在我的windows系统上切换到vim 7.3 – linux很快就会出现。 我也打算切换我的VIM设置,让病原体处理我的插件。 我GOOGLE了,但还没有find一个解决scheme如何处理插件使用vimball技术进行设置。 任何提示?
可以在VIM的可视模式中select多个不连续的线(或截面)吗? 如果是这样,怎么样?
我刚开始使用Vim作为IDE。 我现在正在使用它作为testing编辑器,所以我不必经常进入命令模式。 但是,由于我在Java中编程,所以我必须进入命令模式来创build文件,编译/运行它…等等。 问题是:我需要在两种模式之间切换的好方法。 我在网上看,它说<Esc>键应该这样做,但这不适用于我(也许这不是为gVim?我不知道为什么。) 我必须每次按CTRL O进入命令模式; 退出键从该模式工作…它使我回到插入模式。 但是,在命令模式和插入模式之间切换的方式是更好还是更简单?
我想知道是否有办法返回到Vim中的上一行。 比方说,我正在编写C代码,我只是想在页面的顶部添加一个#include :我按gg然后到顶部,添加#include ,然后我想返回到行我离开了。 这在Vim中可能吗?
我已经使用vim很多年了,从来没有真正想过。 我的一个朋友问这是为什么,注意到在我们的文化中,左边通常会映射到右边,而右边会映射到下面,使vim键倒退。 我明白,他们在家里排队,这意味着你不必将手指移动到任何地方打他们,但这完全是一个不同的观点。 基本上,我的问题是:有谁知道为什么这些键被赋予他们目前的目的? 如果你能指点我一些关于决定的文件,那将是非常好的。