每一个程序员都有一款心心念叨的代码编辑器。而在众多妖颜魅惑的编辑器偶像团体前,vim 就像个不加粉饰的农村姑娘,咋一看是那样朴实无华,难有倾心。但只要走近一点,来个亲密接触,又会被她的似水柔情所俘获。
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。
输入重定向是指把文件导入到命令中,而输出重定向则是把原本要输出到屏幕的数据信息写入到指定文件中。
vi/vim 的重要性不言而喻,比如登录服务器操作。那么如何掌握呢?看这一篇足矣。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
导语:作者本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让人对文本的操作更加精准、高效。对于未使用过 Vim 的朋友来说,可能还无法体会到这种感觉。由于使用 Vim 有一定的学习成本,只有做到非常熟练的程度才能感受到它带来的快捷。
我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准、高效。
VIM是一个强大的编辑器,上古程序开发工具神器无须过多解释,linux必备!具体详情可以参考官方网站[1]或者推荐文章[2],掌握VIM就是多练多用,一张图涵盖大部分快捷键。
vim中Nyy可以复制光标后的N行。有时我们不容易得出行数,这时可以用做标记的方法来制定复制范围:
按“i”键,然后就进入到插入模式了,屏幕下面有个“–INSERT–”标识,很明显的
在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。 Vim强大的编辑能来自于其普通模式命令。普通模式命令往往需要一个操作符结尾。例如普通模式命令dd删除当前行,但是第一个”d”的后面可以跟另外的移动命令来代替第二个d,比如用移动到下一行的”j”键就可以删除当前行和下一行。另外还可以指定命令重复次数,2dd(重复dd两次),和dj的效果是一样的。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效地进行文本编辑。 在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(append/追加)键或者i(insert/插入)键。
vim是Unix和类Unix操作系统中最通用的全屏幕纯文本编辑器,它是vi的增强版(vi iMproved),与vi编辑器完全兼容,而且实现了很多增强功能。
vim是Linux系统内置的【文本编辑器】,用于查看或编辑文件的内容,学会使用vim编辑器,有助于增加日常运维的便捷性。
1991 年,来自荷兰的一名工程师 Bram Moolenaar 为了在他的Amiga计算机上复制Vi的功能,正式发布 了Vim的第一个版本。在当时无论谁也没想到,这款软件未来能在技术圈爆发出那么大的威力,为千千万万的工程师节省了无数时间,大幅提升他们的开发效率。
expect usage(用于非交互式登录)
文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。 V 从光标当前行开始,光标经过的行都会被选中,再按一下V结束。 Ctrl + v 从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按一下Ctrl + v结束。 ggVG 选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾
在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件。在这里详细总结一下这个插件在日常编程中的一些常用小技巧。
可能有些人不知道,Linux命令行也有一些方便文本操作的快捷键,如跳到行首的快捷键是Ctrl-a,,跳到行尾的快捷键是Ctrl-e,删除光标所在处的字符的快捷键是Ctrl-d。 虽然这些快捷键很多时候都可以被小键盘的左右移动键、Home和End键替代,但是对于比较长的命令的修改,快捷键的操作还是比较快的。因为我平时用Vim比较多,而Linux命令行绑定的是Emacs的快捷键方式,虽然可以通过在命令行执行set -o vi修改为Vim的快捷键方式,但是这样会影响常用的像Ctrl-p,Ctrl-n等操作,因此我还是打算将这些难记的文本操作快捷键总结下来,让自己多练习,以后能更熟练地使用。注意这里我只列了文本操作的快捷键,像别的历史命令查询Ctrl-r和清屏操作Ctrl-l等快捷操作,大家可以参考我写的这篇博客。
vim颜色显示 不同的文件,或者说相同的文件在不同的目录下,就会有可能导致颜色不存在 在centos系统中,/etc下的文件,往往都是都是配置文件,在/etc下一般都会显示颜色,放置在其他位置则不会显示颜色 在/etc目录下的文件,有颜色显示 📷 复制过来的文件,在/tmp目录下,无颜色显示 📷 在一般模式下(即是刚打开的文件) 按两次 gg ,光标会定位到首行,首字母 按大写的字母 O (或者是快捷键shift+o),光标就会定位到刚刚所在的位置的上一行去,并进入编辑模式 📷 然后输入# 和
命令模式 我们第一次打开vim 的时候进入的就是命令模式,也就是输入键盘上各种东西,其实就是指令。
如上配置之后可以通过 <space><space>w{char} 快速跳转到包含特定字母的字符的开头
vim是一个类似vi的文本编辑器,不过在vi的基础上增加了很多新特性,vim被公认为类vi编辑器中最好用的一个。
当年研究过一段时间 VIM, 因为操作不熟练没有用作主力 IDE, 而是单纯在 CLI 里面用于轻度编辑
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/77
所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。vim 里面加入了很多额外的功能,例如支持正规表示法的搜寻结构、多文件编辑、区块复制等。 Vim有三种模式:命令模式、编辑模式、底线命令模式 命令模式:vim 文档 进入一般命令模式,这个时候,编辑文档的功能主要靠键盘上的命令寓意来进行 编辑模式:命令模式中 i,o,a,r 进入编辑模式,编辑模式当一般的输入使用,除了esc
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
基本上 vim 可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
本教程并不是单纯的vim操作介绍,更多的是与Intellj Idea进行配合。需要同时具备Intellj Idea和vim使用基础的同学学习。
|--- vim [file1 file2 file3 ...]|打开单个或多个文件 :open file|在vim窗口中打开一个新文件 :split file|在新窗口中打开文件(split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。) Ctrl+ww| 移动到下一个窗口 Ctrl+wj |移动到下方的窗口 Ctrl+wk |移动到上方的窗口 :close |最后一个窗口不能使用此命令,可以防止意外退出vim。 :only|关闭所有窗口,只保留当前窗口 :bn|切换到下一个文件 :bp|切换到上一个文件 :args|查看当前打开的文件列表,当前正在编辑的文件会用[]括起来 :e ftp://192.168.10.76/abc.txt| 打开远程文件,比如ftp或者share folder
在 Linux 下最常使用的文本编辑器就是 vi 或者 vim 了,如果能很好掌握这个编辑器,非常有利于我们更好的在 Linux 下面进行编程开发。
今天第一次接触这个vim文本编辑器,拿到一个陌生的工具,我们想的当然是最短的时间掌握它的基本操作,体会到成就感。如果你跟我一样,那么这篇教程或许对你有所帮助。
在 Linux 的世界中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设定了,与微软的 Windows 系统不同的是,如果你用惯了 Microsoft Word 或 Corel Wordperfect 的话,那么除了 X window 里面的图形接口编辑程序,用起来尚可应付外,在 Linux 的文本模式下,会觉得文书编辑程序都没有窗口接口来的直观与方便.
其中file可以是一个新文件,也可以是原有文件。这样的命令执行后将打开编辑器,显示文件file的内容。如图所示:
使用过LINUX操作系统的人应该都知道vim命令可以编写文本,对于没有接触过的同学通过以下介绍就可以轻松学会vim命令的使用方法。
3.1 Vim 简介 功能: 命令行模式下的文本编辑器。 根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。 使用方式:vim filename 如果已有该文件,则打开它。 如果没有该文件,则打开个一个新的文件,并命名为filename 模式: 一般命令模式: 默认模式。命令输入方式:类似于打游戏放技能,按不同字符,即可进行不同操作。可以复制、粘贴、删除文本等。 编辑模式: 在一般命令模式里按下i,会进入编辑模式。 按下ESC会退出编辑模式,返回到一般命令模式。 命令行模式: 在一般
1. 三种模式 vim中有“一般模式”,“编辑模式”,“命令模式“三种模式,其作用分别为: 一般模式中能够移动光标查看文件,可以删除字符或整行,复制,粘贴处理文档内容用 vi或者vim打开一个文件进入的就是一般模式。 另外两种模式需要回到一般模式才能进入彼此。 编辑模式可以编辑文件内容 在一般模式中按下【i,I,o,O,a,A,r,R,】任何一个字母后进入编辑模式 按下相关按键进入编辑模式后,下方会出现【INSERT】或者【REPLACE】字样 按【Esc】键退出编辑模式,回到一般模式 命令模
复制时不要行号 如果用鼠标复制,会连行号一块选上. 在一般模式下按v进入visiual模式,选择要复制的行,然后输入 +y 就可以了.
管理员在进行系统操作的时候,不可避免地会对文本进行修改,如进行各种服务程序配置文件的改动,使程序对用户提供不同的服务效果。在本章我们向大家介绍Linux上常见的编辑器ed、vi、emacs,同时以vi为例,讲解Linux中的文本编辑,为大家成为优秀的系统管理员打下基础。
注意:在没有创建text.c文件的前提下,使用指令 vim text.c也是可以直接进入的。在退出的时候,如果直接退出,那么没有保存text.c文件,在当前目录下,是没有text.c文件的;如果在vim界面内保存退出,在当前目录下就可以看到text.c文件。
x 删除光标所在字母(其实是光标后) X删除光标前所在字母) dw删除一个单词,光标要在当前单词的第一个字符前面 u 撤销操作 d0删除光标前面的字符 d$或者D删除光标后面的字符 dd删除光标所在的行 ndd删除光标所在行往后的n行(n是自然数,包括本行)
Vimscript,一门用于定制Vim的脚本语言。它其实就是 Vim命令。如,在Vim中,保存一个文件使用命令:write(或者缩写 :w)并回车确认。在Vimscript中,使用write实现文件保存功能。
新建 test2.txt 文件,使用 vi 或 vim 命令 (当test2.txt 文件没有,使用vi 、vim 会新建一个文件)
主要说vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
VIM是一款功能强大、高度可定制的文本编辑工具。可以使用命令apt install vim(Ubuntu环境,在安装有apt工具的情况下)安装,相比起vi来说,vim做的一些变化
vi/vim 基本使用方法 本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、 windows。 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及 Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
IdeaVim插件使用技巧在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件。在这里详细总结一下这个插件在日常编程中的一些常用小技巧。供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考。当然基本的hjkl移动光标和几种常见模式等等基本概念就略过不提了。为了确保只包含常用操作,这里提到的技巧都没有从现成文档里抄,而是凭记忆列出(不常用自然就不记得了)。估计会有所遗漏,慢慢再补充。1. 切换Vim模拟器状态这个插件允许设置一个快捷键一键开启或关闭,在切换模式时会同时自动切换keymap,十分方便。默认键位是Ctrl+Alt+V,但这个键位覆盖了很常用的“抽取局部变量”功能,建议重设,在setting->keymap中查找VIM Emulator即可。由于开启和关闭状态分别使用两套keymap,因此两套都需要设定。可以把两套keymap下的都设为一样的键,也就是用同一个键切换。但个人建议设为不同的键,这样能清楚知道当前处于那种模式中。并且,如果在开启Vim的插入模式下关闭Vim模拟器,下次进入时仍然是插入模式,比较混乱(因为你关闭模拟器就是为了使用默认keymap输入大段代码,重新开启Vim模拟器就是为了使用普通模式下的命令)。因此建议把Vim keymap中的Exit Insert Mode设为与另一个keymap的Vim Emulator相同的键(也就是进入Vim模拟器的快捷键)。例如,我使用的设定是:Default keymap -> Vim Emulator : Ctrl+; (用Ctrl+分号开启Vim模拟器)Vim keymap -> Vim Emulator : Ctrl+, (用Ctrl+逗号关闭Vim模拟器)Vim keymap -> Vim Emulator : Ctrl+; (用Ctrl+分号退出插入模式,进入普通模式)这样,在任何时候只要连按两下ctrl+分号,就能保证必定在Vim模拟器的普通模式中。2. ScrollOff 参数启动Intellij后在Vim模拟器下输入命令 :set so=5 可以令屏幕滚动时在光标上下方保留5行预览代码(也就是光标会在第5行触发向上滚动,或者在倒数第5行触发向下滚动)。在代码窗口比较狭小时(例如单步跟踪调试时)非常方便。可惜仅在Vim模拟器开启时有效。3. 行号定位普通模式下输入 行号G 或 :行号 都能快速定位到某一行。区别在于前者在输入行号时屏幕上没有任何提示,后者则在Vim命令输入框中可以看到输入过程。(题外话:Sublime Text 2也是用 :行号 来快速定位到某行,应该是沿用了Vim的习惯)4. 进入修改进入插入模式的方式有很多,直接选用合适的方式进入插入模式比进入后再用箭头键移动光标要好。常用的有:o – 在当前行下方插入新行并自动缩进O – 在当前行上方插入新行并自动缩进 (普通模式下的大写字母命令用 shift+字母键 输入,下同)i – 在当前字符左方开始插入字符a – 在当前字符右方开始插入字符I – 光标移动到行首并进入插入模式A – 光标移动到行尾并进入插入模式s – 删除光标所在字符并进入插入模式S – 删除光标所在行并进入插入模式c – 删除光标所在位置周围某个范围的文本并进入插入模式。关于范围请看第5点,常用的组合有:caw – 删除一个单词包括它后面的空格并开始插入; ciw – 删除一个单词并开始插入; ci” – 删除一个字符串内部文本并开始插入; c$ – 从光标位置删除到行尾并开始插入; ct字符 – 从光标位置删除本行某个字符之前(保留该字符)并开始插入。等等。C – 删除光标位置到行尾的内容并进入插入模式 (相当于c$)r – 修改光标所在字符,然后返回普通模式R – 进入覆盖模式5. 范围操作某些普通模式的动作命令后面可以追加一些表示范围的指令,表示该动作将作用在整个范围上。这类命令常用的有:d – 删除一定范围内的文本c – 删除一定范围内的文本并进入插入模式y – 将范围内的文本放入0号和”号注册栏v – 选择范围内的文本= – 自动缩进范围内的文本gU – 将范围内的字符转换为大写gu – 将范围内的字符转换为小写> – 将范围中的内容缩进一格< – 将范围中的内容取消缩进一格常用的范围指令有:空格 – 光标所在位置字符。(例如 gU空格 – 将光标位置字符转为大写)重复某些动作命令 – 光标所在行。 (例如dd删除一行,yy复制一行,cc删除一行文本并开始插入,>> 当前行缩进一格,==自动缩进当前行)$ – 从光标位置到行尾^ – 从光标位置到行首,不包含缩进空白0 – 从光标位置到行首,包含缩进空白gg – 从光标位置到文件开头G – 从光标位置到文件结尾% – 从光标位置到另一边匹配的括号f – 从光标位置到光标右边某个字符首次出现的位置,包括该字
退出vim 按键 功能 :wq 保存退出 :w filename 保存到指定文件 :q 退出,如果文件修改但没有保存,会提示无法退出 :q! 退出,不保存 进入插入模式 按键 功能 a 光标位置右边插入文字 i 光标位置当前处插入文字 o 光标位置下方开启新行 O 光标位置上方开启新行 I 光标所在行首插入文字 A 光标所在行尾插入文字 进入可视化模式 按键 功能 Ctrl+v 进入可视化编辑模式 其它 按键 功能 :set expandtab tab展开为空格 cc/S 清除整行,进入插入模式 d$
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
作者:perlman 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令 打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ... 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :
vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。
领取专属 10元无门槛券
手把手带您无忧上云