当前位置: 首页 > 科技观察

通过一些很酷的功能使Vim更加强大

时间:2023-03-20 23:36:34 科技观察

Vim是每个Linux发行版的组成部分],并且是Linux用户最常用的工具(当然是基于终端的)。至少,这句话对我来说是正确的。人们可能会争论哪种工具更适合编程,事实上Vim可能不是一个好的选择,因为有许多不同的IDE或其他成熟的工具,如SublimeText3、Atom等,它们使编程更容易文本编辑器。我的想法但我认为Vim应该被设计成我们想要的方式工作,而其他编辑器让我们按照我们设计的方式工作,而不是我们想要它的实际工作方式。其他编辑器我就不多说了,因为我用得不多(我对Vim情有独钟)。无论如何,让我们用Vim做点什么,这完全可以完成任务。使用Vim编程和执行代码考虑一个场景,当我们使用Vim设计C++代码并需要编译和运行时,我们应该怎么做。(A)。我们通过Ctrl+Z返回到终端,或者使用:wq保存并退出。(二).但是任务还没有结束,接下来还需要在终端输入类似g++fileName.cxx的命令进行编译。(C)。接下来,您需要键入./a.out来执行它。要让我们的C++代码在shell中运行,需要做很多事情。但这似乎不是Vim的使用方式(Vim总是倾向于用一两个键来实现几乎所有的操作)。那么,Vim做这些事情的方式到底是什么?Vim方式Vim不仅仅是一个文本编辑器,它还是一种用于编辑文本的编程语言。这种帮助我们扩展Vim功能的编程语言就是“VimScript”(LCTT译注:VimScript)。因此,在VimScript的帮助下,我们可以轻松地一键完成编译和运行代码的自动化任务。在vim.vimrc中创建函数上面是在我的.vimrc配置文件中创建的名为CPP()的函数的片段。使用VimScript创建函数在VimScript中创建函数的语法非常简单。它以关键字func开头,后面是函数名(函数名在VimScript中必须以大写字母开头,否则Vim会提示错误)。在函数末尾使用关键字endfunc。在函数体中,你可以看到exec语句,你在exec关键字后面写的任何内容都会在Vim的命令模式下执行(记住,是Vim窗口底部以:开头的命令)。现在,传递给exec的字符串是(LCTT译注::!clear&&g++%&&./a.out)-vimfunctionscommands&symbols当这个函数被调用时,它首先清除终端屏幕以便只有输出,然后执行g++来处理你的工作文件,然后运行从上一步编译的a.out文件。映射ctrl+r以运行C++代码我将语句callCPP()映射到组合键Ctrl+r,这样我现在可以按Ctrl+r来执行我的C++代码,而无需手动键入:callCPP()并按Enter键。最终结果我们终于想出了如何用Vim的方式来做。现在,您只需按下一个(组合)键,您编写的C++代码就会输出到您的屏幕上,您不再需要输入所有繁琐的命令。这也可以节省您的时间。我们也可以为其他语言实现这种功能。在vimforpython中创建函数对于Python:您可以按Ctrl+e来解释执行您的代码。在vimforjava中创建函数对于Java:您现在可以按Ctrl+j,它将首先编译您的Java代码,然后执行您的Java类文件并显示输出。更进一步因此,下面是如何在Vim中执行此操作。现在,让我们看看如何在Vim中完成这一切。我们可以直接在Vim中使用这些代码片段,还有一种方法是使用Vim中的自动命令autocmd。autocmd的优点是这些命令不需要用户调用,它们在用户提供的任何特定条件下自动执行。我想使用autocmd来实现这一点,而不是为每种语言使用不同的映射,执行从不同编程语言编译的代码。vimrc中的autocmd在这里所做的是为所有定义代码的函数编写自动命令以执行相应的文件类型。会发生什么?当我打开上述任何一种文件类型的缓冲区时,Vim会自动将Ctrl+r映射为函数调用,而表示返回键,这样我就不需要每次完成都按回车一个单独的任务键了。为此,您只需将函数片段添加到您的.vimrc文件中,然后将所有这些自动命令一起添加。这样,当你下次打开Vim时,Vim将拥有所有相应的功能,以相同的绑定键执行所有代码。这就是所有的总结。希望这能让你更爱Vim。目前正在探索Vim中的一些东西,阅读文档,补充.vimrc文件,等有研究成果再分享给大家。如果你想看一下我当前的.vimrc文件,这里有一个指向我的Github帐户的链接:MyVimrc。期待您的好评。