Vim中的宏对于执行常规命令行工具(sed、awk、perl等)中难以完成的任务非常有用,有没有办法在命令行中执行这类宏串?
类似于以下内容:
// execute macro stored in register a 100 times for filenames
vim execute -s "100@a" filenames [filenames2, filenames3, ...]
我想在intellij idea中使用vim编辑器作为一个外部工具。我映射了一个使用vim打开当前文件的Ctrl-U组合。然后我想使用fugitive插件,它是git上的一个包装器,使用git二进制文件。但是从idea打开的vim找不到git二进制文件。当我从shell启动vim时,它可以找到vim二进制文件。
/bin/bash: git: command not found
在安装了使用GIT的idea Vim plugin之后,我现在遇到了一些特殊的问题。每次我用鼠标在phpstorm中选择一些文本时,使用backspace删除选中的文本,它不会删除文本,但它会标记文本,直到我停止按backspace键为止。但是退格键在任何地方都有效。
这个问题是不是因为安装插件而出现的?
这个问题可以在不卸载插件的情况下解决吗?
根据,我们可以做以下工作:
Finally, let's try out visual mode.
Press a capital V (for linewise visual mode) followed by S<p class="important">.
你就能得到这个
<p class="important">
<em>Hello</em> world!
</p>
我试过了而且成功了。但是我如何在许多其他可视块上重复这个命令呢?我试过.,但没有成功。
更新:
以下案文如下:
foo
我的代码块看起来像这样:
ICar car = new Car<int>(10);
var result = car.Start(100);
Assert.IsTrue(result.IsValid);
我想转换成这个:
Assert.IsTrue((new Car<int>(10).Start(100)).IsValid);
我有大约20个格式完全相同的这些类型的代码片段,这可以在vim中自动执行吗?
我试着学习如何使用vim的记录能力,但似乎我只能从正常模式会话记录和播放击键。当我切换到输入模式时,我所做的击键似乎不会被记录,或者当我播放录音时不会播放。为了说明我说的是什么:
我有一个包含这些行的文件:
Dir['*.data'] # Files with the "data" extension
Dir['?'] # Any single-character filename
Dir['*.[ch]'] # Any file that ends with .c or .h
当我跑的时候
vim good.html
和
:verbose set et?
expandtab
Last set from ~/.vimrc
但当我跑
vim good.py
和
:verbose set et?
expandtab
Last set from /usr/share/vim/vim74/ftplugin/python.vim
我希望在.py中应用~/..vimrc文件,而不是python.vim
昨天我一切都很好,但今天突然改变了道路
请有人教我如何改变道路
我知道我可以使用Awk,但是我使用的是Windows框,我正在为其他可能没有Awk的人做一个函数。我也知道我可以编写一个C程序,但是我不希望有一些东西需要编译和维护我正在制作的一个Vim实用程序。
原始文件可能是:
THE DAY WAS LONG
THE WAY WAS FAST
在换位之后,它应成为:
TT
HH
EE
DW
AA
YY
WW
AA
SS
LF
OA
NS
GT
更新
高尔夫规则适用于选择正确的答案。
Python迷应该查看。