Articles of VIM

如何使用vim创build新文件时自动创build整个path?

要在vim中打开新文件,我通常会执行以下操作: :tabe my_newfile 但是,假设我想在新目录中打开一个新文件,如下所示: :tabe newdir/my_newfile 导致错误 "newdir/my_newfile" E212: Can't open file for writing 有没有一种顺利的方式来自动创buildnewdir?

如何在vi编辑器中将colorscheme重置为默认值?

如何在vi编辑器中将colorscheme永久设置为默认值?

如何在Linux中打开一个“..”文件?

简短的故事介绍: 我的VPS服务器被黑客入侵。 当试图评估损害时,我注意到大多数“拥有的”php文件都有encryption的代码(通过base64和eval) – 没有模式可以匹配所有的文件。 但我也注意到,在通过FTP文件夹中有一个“..”文件显示,无处不在显示具有相同的第一行文本:'vFPuWN80hSq17G4OF8oyhg =='。 虽然我可以下载,删除,通过FTP重命名这些'..'文件我找不到一个可靠的方式来通过shell与他们合作。 vim和nano在用'..'…调用时显示父目录列表。 那么简短的问题,我怎么能打开/删除/编辑/统计在Linux文件? 编辑(1) 正如@zmo所build议的那样,文件名实际上是“../”。 但是,如果我运行find或grep来查找它,则显示为“..”: 编辑(2) 从上面的图像可以注意到,文件名实际上是.. 哪些可以用vim '.. '打开vim '.. ' 。

如何将Caps Lock重新映射为Control,然后禁用Linux上的Left Control?

我是VIM用户,我想将Caps_Lock键重新映射到Left_Control,所以这使得控制更容易。 此外,我也想训练我的手指,所以我需要禁用Left_Control键,这迫使我按Caps_Lock而不是Left_Control。 所以这里是我的方法在Linux上使用xmodmap (我的键盘布局是我们): 首先,我通过运行下面的代码来交换Caps_Lock和Left_Control: $ xmodmap -e "remove Lock = Caps_Lock" $ xmodmap -e "remove Control = Control_L" $ xmodmap -e "keysym Control_L = Caps_Lock" $ xmodmap -e "keysym Caps_Lock = Control_L" $ xmodmap -e "add Lock = Caps_Lock" $ xmodmap -e "add Control = Control_L" 所以在第一步之后,Caps_Lock键是Control,Left_Control键是Caps_Lock键。 然后,我运行以下命令禁用Left_Control键: $ xmodmap -e "remove Control = […]

如何设置git仓库的根目录到vi / vim查找path?

我想设置vim文件searchpath来包含git仓库根(可以通过git rev-parse –show-toplevel )。 我不知道如何将这个git命令的输出附加到.vimrc中的“ set path=.,,** ”。 谢谢!

如何执行特定于文件的命令?

我有一个文件read.html ,每次我粘贴东西(例如从一个网页)到文件,我希望最初的HTML格式也粘贴在纯文本。 这是一个可以实现目标的vim命令, set cb^=html 但是当我把东西粘贴到其他文件中时,我不希望附加的html格式,所以每次我只想纯文本,我必须执行这个命令, set cb-=html 这可能是非常不方便的,因为我必须不时地执行这两个命令。 那么有没有一种方法可以在当前文件是read.html情况下将html格式和纯文本一起粘贴,并且只在当前文件不是read.html时候粘贴纯文本?

在linux shell脚本上运行行select

我有一个例程shell脚本如下 #!/bin/bash or whatever ## block1 comments program1 filepath1 & program2 filepath2 & ## block1 comments program3 filepath1 & program4 filepath2 & 虽然通常不会发生,但块有时可能更复杂,涉及到已定义的variables和unix命令。 每天早上我打开这个文件,整天我最终做的是select一段文本,粘贴到“运行”脚本中,并从terminal($ ./run.sh)调用它 我想要的是简化“select/复制/粘贴/切换到terminal/运行”到“select/运行”。 这在许多简单的编辑器中很方便地完成。 我碰巧使用Geany,我不知道该怎么做,而且我听说Vim可以做到这一点,但是我不知道怎么做。 如果你知道其他编辑可以做到这一点,请放下一行。 例如,许多脚本编辑器允许您在相关的语言解释器中运行选定的文本。 我想要的是从一个简单的编辑器(最好是Geany或Vim)在terminal中运行这些shell脚本行。

如何在第一行格式化第二行和第三行?

我正在使用VIM ,我想格式化第二和第三行。 我可以这样做:2,3left<number of spaces> * @brief: Hello world * Hello world hello world * Hello world hello world 如何做到这一点更容易得到这样的事情? * @brief: Hello world * Hello world hello world * Hello world hello world

Vim:如何使用.config来调暗未编译的行

当在Vim中读取linux内核源代码时,是否有任何方式告诉编辑器在某个位置有一个.config文件,并且是使macros保护内的线条变暗,导致它不被编译成内核? 如果不是的话,在阅读源代码时你会怎样解决这个问题呢? 我使用Vim,ctags和cscope,但是最终我没有注意到那些没有注意到macros保护的代码,这些代码并没有被编译到最终的二进制图像中。 有没有办法避免这种情况? [编辑] 作为一个例子, .config文件可以说我有以下configuration值。 … CONFIG_TEST_BLAH … 后来,在我有一个C文件中: – #ifdef CONFIG_TEST_BLAH void test () { … … } #else void test() { … … } #endif 在这种情况下,我希望#else块内的代码块的内容或颜色不同,以便我知道它没有被编译到最终的内核映像中。 [编辑2] 我相信像Visual Studio这样的编辑器允许这样的事情发生,我想知道是否有办法用vim来做到这一点。

光标不会在vim的行尾

我最近安装了Ubuntu,并在terminal上调整configuration文件偏好。 现在,当我在vim中进行编辑时,光标不会使用导航键进入行的末尾(在正常模式下,“$”也不起作用)。 但是,它在插入模式下显示正确。 这只是一个麻烦,但我宁愿没有它。 如何纠正这个?