vim编辑器学习-速查卡

合集下载

vim工具的使用方法

vim工具的使用方法

vim工具的使用方法嗨,宝子!今天来唠唠vim这个超酷的工具呀。

vim刚打开的时候,你可能会有点懵。

它的界面看起来很简洁,但是功能超强大呢。

你进入vim后,就处在命令模式啦。

这时候你可以用各种快捷键来操作文件。

比如说,你想移动光标,h就是向左移动,j是向下,k向上,l向右,就像在玩一个简单的方向键游戏一样。

要是你想编辑文件内容,那得先进入插入模式。

按一下i键,就可以像在普通的文本编辑器里一样输入文字啦。

感觉就像打开了一扇通往编辑世界的小窗。

在插入模式下,你就尽情地码字吧。

当你编辑完一部分内容,想要保存文件了,这时候要先退回命令模式,按一下Esc键就好啦。

然后输入:w就可以保存文件啦。

如果想保存并且退出,那就输入:wq。

要是你不小心搞乱了文件,不想保存就退出,输入:q!就可以潇洒地离开,不带走一片云彩哦。

查找功能也很方便呢。

在命令模式下,输入/加上你要查找的内容,比如你想找“apple”这个单词,就输入/apple,然后按回车键,vim就会自动帮你找到这个单词在文件里的位置啦。

还有哦,如果你想复制粘贴内容。

在命令模式下,按yy就可以复制当前行,想粘贴的话就把光标移动到你要粘贴的地方,然后按p键,内容就乖乖地出现啦。

而且vim还有很多高级的功能。

比如说分屏显示。

你可以同时查看不同的文件或者文件的不同部分。

这就像是你可以一边看着菜谱,一边在厨房做菜一样方便。

不过这些高级功能可能需要你多花点时间去探索啦。

总的来说,vim一开始可能会让你觉得有点难上手,但是一旦你掌握了它的基本操作,就会发现它真的是一个超级高效、超级酷的文本编辑工具。

就像解锁了一个隐藏的宝藏,能让你在处理文本文件的时候如鱼得水呢。

宝子,快去试试吧。

2 Linux常用命令与vim

2 Linux常用命令与vim

《Linux网络操作系统项目教程(Ubuntu)(微课版)》电子教案/root2. 熟练使用浏览文件类命令(1)cat命令cat命令主要用于滚屏显示文件内容或是将多个文件合并成一个文件。

该命令的语法为cat [参数] 文件名3. 熟练使用目录操作类命令4. 熟练使用cp命令5. 熟练使用文件操作类命令三、模仿练习1、学生上机操作各类命令,理解命令的使用功能。

学生实践讲解示范(E)模仿练习(E)一、课堂讲解熟练使用系统信息类命令二、操作示范讲解5个相关命令:(1)dmesg命令(2)free命令(3)timedatectl命令(4)cal命令(5)clock命令三、模仿练习学生上机模拟使用命令,实现相应的功能。

讲授案例分析实践练习20’讲解示范(E)模仿练习(E)一、课堂讲解。

熟练使用进程管理类命令二、操作示范通过功能介绍和命令的演示,介绍以下命令操作:(1)clear命令(2)uname命令(3)man命令(4)shutdown命令(5)halt命令(6)reboot命令(7)poweroff命令(8)alias命令(9)unalias命令(10)history命令(11)wget命令(12)wget命令(13)echo命令讲授案例分析实践练习25’三、模仿练习学生上机模拟使用命令,实现相应的功能。

讲解示范(E)模仿练习(E)一、课堂讲解熟练使用vim编辑器二、操作示范介绍vim编辑器的使用方法,技巧等。

类型命令说明进入输入模式i 从光标所在位置前开始插入文本I 该命令是将光标移到当前行的行首,然后插入文本进入输入模式a 用于在光标当前所在位置之后追加新文本A 将光标移到所在行的行尾,从那里开始插入新文本o 在光标所在行的下面新开一行,并将光标置于该行行首,等待输入O 在光标所在行的上面插入一行,并将光标置于该行行首,等待输入Esc 退出命令模式或回到命令模式中(常用):w 将编辑的数据写入硬盘文件中(常用):w!若文件属性为只读时,强制写入该档案。

vim练习

vim练习

Vim 练级攻略当你安装好一个编辑器后,你一定会想在其中输入点什么东西,然后看看这个编辑器是什么样子。

但vim不是这样的,请按照下面的命令操作:启动Vim后,vim在Normal模式下。

让我们进入Insert模式,请按下键i 。

(陈皓注:你会看到vim–左下角有一个insert–字样,表示,你可以以插入的方式输入了)“”此时,你可以输入文本了,就像你用记事本一样。

如果你想返回Normal模式,请按ESC键。

现在,你知道如何在Insert和Normal模式下切换了。

下面是一些命令,可以让你在Normal模式下幸存下来: i→Insert模式,按ESC回到Normal模式.x→ 删当前光标所在的一个字符。

:wq→ 存盘+ 退出(:w存盘,:q退出) (陈皓注::w 后可以跟文件名)dd→ 删除当前行,并把删除的行存到剪贴板里p→ 粘贴剪贴板推荐:hjkl(强例推荐使用其移动光标,但不必需) →你也可以使用光标键(←↓↑→). 注:j就像下箭头。

:help <command>→ 显示相关命令的帮助。

你也可以就输入:help而不跟命令。

(陈皓注:退出帮助需要输入:q)你能在vim幸存下来只需要上述的那5个命令,你就可以编辑文本了,你一定要把这些命令练成一种下意识的状态。

于是你就可以开始进阶到第二级了。

当是,在你进入第二级时,需要再说一下Normal模式。

在一般的编辑器下,当你需要copy一段文字的时候,你需要使用Ctrl键,比如:Ctrl-C。

也就是说,Ctrl键就好像功能键一样,当你按下了功能键Ctrl后,C就不在是C了,而且就是一个命令或是一个快键键了,在VIM的Normal模式下,所有的键就是功能键了。

这个你需要知道。

标记:下面的文字中,如果是Ctrl-λ我会写成<C-λ>.以:开始的命令你需要输入<enter> —回车,例如如果我写成:q也就是说你要输入:q<enter>.第二级感觉良好–上面的那些命令只能让你存活下来,现在是时候学习一些更多的命令了,下面是我的建议:(陈皓注:所有的命令都需要在Normal模式下使用,如果你不知道现在在什么样的模式,你就狂按几次ESC键)1.各种插入模式a→ 在光标后插入o→ 在当前行后插入一个新行O→ 在当前行前插入一个新行cw→ 替换从光标所在位置后到一个单词结尾的字符2.简单的移动光标0→ 数字零,到行头^→ 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)$→ 到本行行尾g_→ 到本行最后一个不是blank字符的位置。

vim编辑器的使用

vim编辑器的使用

vim编辑器的使⽤这⾥主要介绍vim编辑器的⼀些常⽤命令和⽅法,主要包括: vim编辑器的基本使⽤,包括vi的启动与退出、⼯作模式的切换、光标的移动、屏幕的滚动、⽂本的插⼊与删除、复制与粘帖、查找与替换等。

vim编辑器之程序编辑,包括程序设计中光标的跳转、关键字的补全,以及代码的缩进等。

希望通过本节的学习,能够基本掌握vi编辑器的使⽤⽅法和相关技巧,能够独⽴完成程序源代码的编辑和修改。

1、 vim编辑器的基本使⽤ vim编辑器是Linux系统下的标准编辑器。

虽然命令繁多复杂,并且绝⼤多数功能的输⼊都依靠键盘来完成,但如果我们熟悉掌握之后就会发现vim编辑器的功能、效率等都是其他图形界⾯编辑器⽆法⽐拟的,下⾯让我们来揭开它的神秘⾯纱。

1.1、 vim的启动 在终端输⼊命令vim,后⾯接着输⼊想要创建或编辑的⽂件名,即可进⼊vim编辑器。

$ vim test.c 如果vi命令后⾯所输⼊的⽂件不存在,则系统会⾃动创建⼀个以该字符串命名的⽂本⽂件。

如上图,光标停留在左上⽅,由于新建⽂件中没有任何内容,所以每⼀⾏的开头都为波浪线。

窗⼝的底部为状态栏,显⽰当前编辑⽂件的相关信息。

打开⽂件后,光标停留在屏幕左上⽅。

状态栏显⽰了当前编辑⽂件的⽂件名、⾏数以及字符数等信息。

vi命令打开⽂件时还可以带参数,这些参数⽤于修正vi的打开⽅式,主要包括如下:-R :以只读⽅式打开⽂件。

如果只需阅读⽂件内容⽽不想对其进⾏修改时,可以使⽤这个参数,以防对⽂件的误操作,-x:该参数可以在保存⽂件时对其进⾏加密,以后每次打开都需要输⼊密钥,否则将出现乱码。

1.2 、vim的⼯作模式 vim有3种⼯作模式:普通模式、编辑模式和命令模式,这3种模式之间可以相互切换。

(1)、普通模式 由Shell进⼊vim编辑器时,⾸先进⼊普通模式。

在普通模式下,从键盘输⼊任何字符都被当作命令来解释。

普通模式下没有任何提⽰符,当输⼊命令时⽴即执⾏,不需要回车,⽽且输⼊的字符不会在屏幕上显⽰出来。

VIM编辑器操作详解

VIM编辑器操作详解

VIM编辑器操作详解1 vim 使⽤介绍1.1 vim 安装# CentOS 安装:yum install -y vim# Ubuntu 安装:sudu apt-get install vim安装完成后,可使⽤ vim -v 查看版本号1.2 vim 命令格式vim [OPTION]... FILE...常⽤选项选项说明+n打开⽂件后,直接让光标处于第 n ⾏的⾏⾸;+默认⾏尾 ;vim + filename 末⾏⾏⾸+/PATTERN打开⽂件后,直接让光标处于第⼀个被PATTERN匹配到的⾏的⾏⾸;vim +/for filename ⽂件第⼀个for所在⾏的⾏⾸-b file⼆进制⽅式打开⽂件-d file1 file2...⽐较多个⽂件,相当于 vimdiff-m file只读打开⽂件-e file直接进⼊ ex 模式,相当于执⾏ ex file-y file Easy mode (like "evim", modeless),直接可以操作⽂件,`ctrl+o:wq说明:如果该⽂件存在,⽂件被打开并显⽰内容如果该⽂件不存在,当编辑后第⼀次存盘时创建它1.3 vim:模式化编辑器vim 是⼀个模式编辑器,击键⾏为是依赖于 vim的的“模式”三种常见模式:命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴⽂本插⼊(Insert)或编辑模式:⽤于修改⽂本扩展命令(extended command)或命令(末)⾏模式:保存,退出等模式转换命令模式 --> 插⼊模式命令解释i insert在光标所在处输⼊I在当前光标所在⾏的⾏⾸输⼊a append在光标所在处后⾯输⼊A在当前光标所在⾏的⾏尾输⼊o在当前光标所在⾏的下⽅打开⼀个新⾏O在当前光标所在⾏的上⽅打开⼀个新⾏插⼊模式 --- ESC-----> 命令模式命令模式 ---- : ----> 扩展命令模式扩展命令模式 ----ESC,enter----> 命令模式⽰例:插⼊颜⾊字符1 切换⾄插⼊模式2 按ctrl+v+[ 三个键,显⽰^[3 后续输⼊颜⾊信息,如:^[[32mhello^[[0m4 切换⾄扩展命令模式,保存退出5 cat ⽂件可以看到下⾯显⽰1.4 扩展命令模式按“:”进⼊Ex模式,创建⼀个命令提⽰符: 处于底部的屏幕左侧1.4.1 扩展命令模式基本命令命令解释w写(存)磁盘⽂件wq写⼊并退出x写⼊并退出X加密q退出q!不存盘退出,及时更改都将丢失r filename读⽂件内容到当前⽂件中w filename将当前⽂件内容写⼊另⼀个⽂件!command执⾏命令r!command读⼊命令的输出1.4.2 地址定界格式:start_pos,end_pos CMD1.4.2.1 地址定界格式命令解释| 表⽰特定的第#⾏,例如5即表⽰第5⾏,# | 指定⾏范围,从左侧 # 表⽰起始⾏,到右侧 # 表⽰结尾⾏,+# | 指定⾏范围,左侧为起始⾏绝对编号,右侧为相对左侧⾏号的偏移量,例如:3,+7,意思是从第3⾏开始,再向后加7⾏. | 表⽰当前⾏;如 :.,$y 表⽰复制从当前⾏开始到最后⼀⾏$ | 最后⼀⾏.,$-1 | 当前⾏到倒数第⼆⾏% | 表⽰全⽂, 相当于1,$/pattern/ | 从光标所在处起始向⽂件尾部,第⼀次被模式所匹配到的⾏,例,/first/,$ 表⽰从第⼀次能被first匹配的⾏开始到最后⼀⾏结束/pat1/,/pat2/ | 从光标所在处起始,第⼀次由 pat1 匹配到的⾏开始,⾄第⼀次由 pat2 匹配到的⾏结束之间的所有⾏,/pat/ | 从指定⾏开始,⼀直找到第⼀个匹配 pattern 的⾏结束/pat/,$ | 向下找到第⼀个匹配 patttern 的⾏到整个⽂件的结尾的所有⾏1.4.2.2 地址定界后跟⼀个编辑命令命令解释d删除y复制w file将范围内的⾏另存⾄指定⽂件中r file在指定位置插⼊指定⽂件中的所有内容可同编辑命令⼀同使⽤,实现编辑操作:d,y,c,w /path/to/somefile(将范围内的⽂本保存⾄指定的⽂件中)合并两个⽂件vim /etc/fstab:5r /tmp/test.txt将⽂件/tmp/test.txt写⼊到⽂件/etc/fstab第5⾏后⾯1.4.3 查找并替换格式s/要查找的内容/替换为的内容/修饰符说明要查找的内容:可使⽤基末正则表达式模式替换为的内容:不能使⽤正则表达式,如果“要查找的内容”部分在模式中使⽤分组符号,在“替换的内容”中使⽤后可以使⽤\1, \2, ...等后向引⽤符号;还可以使⽤“&”引⽤前⾯查找时查找到的整个内容直接引⽤查找模式匹配到的全部⽂本修饰符命令说明i查找时忽略⼤⼩写g全局替换,意味着⼀⾏中如果匹配多次,则均替换,默认情况下,每⼀⾏只替换第⼀次出现gc全局替换,每次替换前询问⽰例# 将⽂本中所有的this替换为This:%s/this/This/gi# 将⽂本中1到20⾏的this替换为This:1,20s/this/This/gi# 将⽂本中所有的t替换为T,还要保持t后⾯的字符不变:%s@\<t\([[:alpha:]]\+\)\>@T\1@g# 将⽂本中所有的t开头的,后⾯加上er:%s@\<t[[:alpha:]]\+\>@&er@g# 将⽂件中所有的enable=0替换为enable=1,将所有的gpgcheck=0替换为gpgcheck=1:%s@\(enable\|gpgcheck\)=0@\1=1@g查找替换中的分隔符/可替换为其它字符,如:#,@⽰例s@/etc@/var@gs#/boot#/#i1.4.4 定制 vim 的⼯作特性每个⼈都有⾃⼰喜欢的配置,⽐如背景颜⾊,空格缩进⼤⼩等,vim 提供配置⽂件供使⽤者保存⾃⼰的偏好,下⾯经常使⽤的配置⽂件:编辑:前登录⽤户的宿主⽬录下,⽐如root ⽤户就是/root/,⽂件为.vimrc注意:在末⾏模式下的设定,仅对当前vim进程有效扩展命令模式的配置只是对当前vim进程有效,可将配置存放在⽂件中持久保存配置⽂件/etc/vimrc # 全局~/.vimrc # ⽤户个⼈,可能需要创建命令说明⾏号显⽰set number,简写set nu⾏号取消显⽰set nomber,简写set nonu忽略字符⼤⼩写启⽤set ignorecase,简写 set ic忽略字符⼤⼩写禁⽤set noic括号匹配⾼亮匹配set showmatch,简称为set sm括号匹配⾼亮取消set noshowmatch,简称为set nosm⾃动缩进启⽤set autoindent,简写 set ai ⾃动缩进取消set noai复制保留格式启⽤set paste复制保留格式禁⽤set nopaste显⽰ Tab ^I 和换⾏符和 $ 显⽰set list取消 Tab ^I 和换⾏符和 $ 显⽰set nolist⾼亮搜索启⽤set hlsearch⾼亮搜索取消set nohlsearch 简写:nohl 语法⾼亮启⽤syntax on语法⾼亮取消syntax off⽂件格式启⽤windows格式:set fileformat=dos 启⽤unix格式:set fileformat=unix简写 set ff=dosTab ⽤空格代替启⽤set expandtab 默认为8个空格代替Tab Tab ⽤空格代替禁⽤set noexpandtab,简写:set etTab⽤指定空格的个数代替启⽤:set tabstop=# 指定#个空格代替Tab简写:set ts=4设置⽂本宽度set textwidth=65 (vim only) #从左向右计数set wrapmargin=15 #从右到左计数设置光标所在⾏的标识线启⽤set cursorline,简写 set cul设置光标所在⾏的标识线禁⽤set nocursorline加密启⽤set key=password机密禁⽤set key=命令说明了解更多set 帮助:help option-list:set or :set all⽰例cat ~/.vimrcset nu # ⾏号set sm # 括号匹配⾼亮set ai # ⾃动缩进set hlsearch # ⾼亮搜索syntax on # 语法⾼亮set colorscheme default # 设置颜⾊主题set nocompatible # vi 和 vim 兼容set noerorbells # 错误铃声set showmatch # 括号匹配查找set ignorecase # 查找忽略⼤⼩写set incsearch # 搜索时⾃动跳转光标set tabstop=4 # 空格set guifont=Menlo:h10 # 字体set autowrite # ⾃动存盘set history=3000set colorcolumn=821.5 命令模式命令模式,⼜称为Normal模式,功能强⼤,只是此模式输⼊指令并在屏幕上显⽰,所以需要记忆⼤量的快捷按键才能更好的使⽤1.5.1 退出 vim命令说明ZZ保存退出ZQ不保存退出1.5.2 光标跳转字符间跳转(Ncommand 跳转由 N 指定的个数的字符)命令说明h左命令说明l右j下k上单词间跳转(Ncommand 由 N 指定⼀次跳转的单词数)命令说明w下⼀个单词的词⾸e当前或下⼀个单词的词尾b当前或前⼀个单词的词⾸当前页跳转命令说明H页⾸M页中间⾏L页底zt将光标所在当前⾏移到屏幕顶端zz将光标所在当前⾏移到屏幕中间zb将光标所在当前⾏移到屏幕底端⾏⾸⾏尾跳转命令说明^跳转⾄⾏⾸的第⼀个⾮空⽩字符0跳转⾄⾏⾸$跳转⾄⾏尾⾏间跳转命令说明G | 跳转⾄由 # 号指定的⾏:# | 跳转⾄由第 # ⾏1G 和 gg | 跳转⾄第⼀⾏G | 跳转⾄最后⼀⾏句间跳转命令说明)跳转到下⼀句(跳转到上⼀句段落间跳转命令说明}下⼀段{上⼀段命令模式翻屏操作命令说明Ctrl+f向⽂件尾部翻⼀屏,相当于 PagedownCtrl+b向⽂件⾸部翻⼀屏,相当于 PageupCtrl+d向⽂件尾部翻半屏Ctrl+u向⽂件⾸部翻半屏Enter按⾏向后翻1.5.3 字符编辑命令说明x删除光标所在处的字符命令说明x | 删除光标所在处起始的 # 个字符xp | 交换光标所在处的字符与其后⾯的字符的位置,如serach,将光标放在r上,按xp,可以换成search | 转换⼤⼩写J | 删除当前⾏后的换⾏符1.5.4 替换命令(replace)命令说明r替换光标所在处的字符,如:将⼩写n替换为⼤写N,命令为 r 后⾯跟上NR切换成 REPLACE 模式(在末⾏出现-- REPLACE -- 提⽰),按 ESC 回到命令模式1.5.5 删除命令(delete)命令说明d删除命令,可结合光标跳转字符,实现范围删除d$删除当前字符⾄⾏尾的字符d^删除当前字符⾄⾮空⾏⾸的字符d0删除当前字符⾄⾏⾸的字符dwdw | 删除 # 个单词de |db |dd | 删除光标所在处的⾏,也⽀持加数字,如3dd是删除光标所在处的⾏起始的共3⾏dd | 多⾏删除D | 从当前光标位置⼀直删除到⾏尾,等同于d$1.5.6 粘贴命令(paste)命令说明p缓冲区中的内容如果为整⾏,则粘贴在当前光标所在⾏的下⽅,否则,则粘贴⾄当前光标所在处的后⽅P缓冲区中的内容如果为整⾏,则粘贴在当前光标所在⾏的上⽅,否则,则粘贴⾄当前光标所在处的前⽅1.5.7 复制命令(yank)命令说明y复制,⼯作⾏为相似于d命令y$y0y^yeywybyy复制⼀整⾏yy | 复制#⾏Y | 复制整⾏1.5.8 改变命令(change)从编辑模式-->输⼊模式,实际实现删除操作命令说明c$c^c0cbcecwcw |cc | 删除光标所在的⾏,并转换为输出模式,即删除当前⾏并输⼊新内容,相当于S cc | 删除#⾏C | 删除当前光标到⾏尾,并切换成插⼊模式,相当于c$1.5.9 查找命令说明/PATTERN从当前光标所在处向⽂件尾部查找能够被当前模式匹配到的所有字符串PATTERN 从当前光标所在处向⽂件⾸部查找能够被当前模式匹配到的所有字符串n 下⼀个,与命令⽅向相同N 上⼀个,与命令⽅向相反1.5.10 撤销(undo)操作命令说明u撤销最近的更改,相当于windows中ctrl+zu | 撤销此前的 # 个操作U | 撤消光标落在这⾏后所有此⾏的更改Ctrl+r | 撤销此前的撤销,相当于windows中crtl+y. | 重复执⾏前⼀个编辑操作. | 重复执⾏前 # 个编辑操作1.5.11 ⾼级⽤法<start position><command><end position>常见Command:y 复制、d 删除、gU 变⼤写、gu 变⼩写⽰例0y$ 命令0 →先到⾏头y →从这⾥开始拷贝$ →拷贝到本⾏最后⼀个字符⽰例:粘贴 song 100 次100isong [ESC]命令说明di"光标在” “之间,则删除” “之间的内容yi(光标在()之间,则复制()之间的内容vi[光标在[]之间,则选中[]之间的内容dtx删除字符直到遇见光标之后的第⼀个 x 字符ytx复制字符直到遇见光标之后的第⼀个 x 字符1.6 可视化模式在末⾏有”-- VISUAL -- “指⽰,表⽰在可视化模式允许选择的⽂本块命令说明v按字符选定,⾯向字符,-- VISUAL --V按⾏选定,⾯向整⾏,-- VISUAL LINE --ctrl-v⾯向块,-- VISUAL BLOCK --可视化键可⽤于与移动键结合使⽤w ) } 箭头等突出显⽰的⽂字可被删除,复制,变更,过滤,搜索,替换等⽰例:在⽂件指定⾏的⾏⾸插⼊#1、先将光标移动到指定的第⼀⾏的⾏⾸2、输⼊ctrl+v 进⼊可视化模式3、向下移动光标,选中希望操作的每⼀⾏的第⼀个字符4、输⼊⼤写字母 I 切换⾄插⼊模式5、输⼊ #6、按 ESC 键⽰例:在指定的块位置插⼊相同的内容1、光标定位到要操作的地⽅2、CTRL+v 进⼊“可视块”模式,选取这⼀列操作多少⾏3、SHIFT+i(I)4、输⼊要插⼊的内容5、按 ESC 键1.7 多⽂件模式命令说明:next下⼀个:prev上⼀个:first第⼀个:last最后⼀个:wall保存所有:qall不保存退出所有:wqall保存所有⽂件并退出例:vim file1 file2 file3在file1中 :next 切换到file2在file1中 :last 切换到file3在file3中 :prev 切换到file2在file3中 :first 切换到file1注:file1 和 file2 和 file3可以实现跨⽂件复制1.8 多窗⼝模式1.8.1 多⽂件分割命令说明-o⽔平或上下分割窗⼝-O垂直或左右分割窗⼝(vim only)⽰例vim -o|-O FILE1 FILE2 ...在窗⼝间切换,Ctrl+w <h|j|k|l>注意:单个⽂件也可以分割为多个窗⼝进⾏查看1.8.2 单⽂件窗⼝分割命令说明Ctrl+w,s split, ⽔平分割,上下分屏命令说明Ctrl+w,v vertical, 垂直分割,左右分屏ctrl+w,q取消相邻窗⼝ctrl+w,o取消全部窗⼝:wqall退出1.9 vim的寄存器有26个命名寄存器和1个⽆命名寄存器,常存放不同的剪贴版内容,可以在同⼀个主机的不同会话(终端窗⼝)间共享寄存器名称 a,b,...,z,格式: 寄存器放在数字和命令之间⽰例3"tyy 表⽰复制3⾏到t寄存器中,末⾏显⽰`3 lines yanked into "t`"tp 表⽰将t寄存器内容粘贴未指定,将使⽤⽆命名寄存器有10个数字寄存器,⽤0,1,...,9表⽰,0存放最近复制内容,1存放最近删除内容。

Vim教程

Vim教程

注:我觉得vimtutor是众多vim帮助文档中最好的入门教程,其中的每一个知识点都有相应的习题,可以让你在短时间内掌握基本的VIM操作。

本双语版是我练习翻译之作,对于其中出现的任何词义、语法等等的错误还还请大家指正。

因为我的是英文环境,没有中文版的,不知道大家的vimtutor_cn是多少版本的,如果有新版的话希望能共享一下。

EMAIL:ahui132@/ahui132811请通过vim练习:vim vimtutor_cn.txt=============================================================================== = W e l c o m e t o t h e V I M T u t o r - Version 1.7 = 欢迎使用VIM教程1.7版===============================================================================Vim is a very powerful editor that has many commands, too many toexplain in a tutor such as this. This tutor is designed to describeenough of the commands that you will be able to easily use Vim asan all-purpose editor.VIM是一个强大的编辑器,它拥有大量的命令,所以没法在本教程中全部解释。

本教程描述了足够多的命令,使你能轻松将VIM作为通用编辑器。

The approximate time required to complete the tutor is 25-30 minutes,depending upon how much time is spent with experimentation.完成本教程的时间大约是25-30分钟,主要依赖于你在实验中花去的时间。

VIM 使用教程

VIM 使用教程

VIM 编辑器VIM 和Emacs 是Linux 上最知名和最受程序员喜爱的两种编辑器。

VI追求的是快捷启动程序迅速,编辑文本高效,功能专注,而Emacs追求的是功能的丰富强大以及集成带来的方便,在Emacs里头可以发邮件,上新闻组,听mp3,浏览网页,玩游戏,几乎可以login->emacs—〉logout了,VI和Emacs都是程序员的编辑器,相比而言,Emacs更是提供了一种程序员的生活氛围。

VIM引入了很多模式,主要的有如下几种:➢Normal mode 即通常所谓的命令模式,在此模式使用a、i、A、I、o、O等进入Insert mode➢Insert mode 即通常所谓的编辑模式,在此模式使用ESC进入Normal mode或者Ctrl-c临时进入Normal mode➢Command—line mode 命令行模式,在Normal mode下按冒号进入,按ESC取消执行命令或者回车执行命令,然后回到Normal mode。

➢Visual mode 即选择模式(注意跟用鼠标选择不同),用v,V,C-v或C-q进入➢Select mode 鼠标选择➢Replace mode 在Normal mode下按R进入,按ESC返回Normal mode,相当于Windows下命令行中按Insert键进入的覆盖模式1. 基本操作1) 移动光标(Normal mode)可以用下面的键来移动光标H (左), j (下),k (上),l (右)2) 删除(Normal mode)当你想删除一个字符时,把光标移动到它上面,然后按下x键,它就会消失。

dd命令会删除当前所在的一行内容。

dw 删除当前光标所在字符d$删除从当前光标所在位置到当前行结尾的所有内容d^ 删除从当前光标所在位置到行首的所有内容3) 合并行(Normal mode)使用J命令可以合并当前行和下一行4) 撤消和重做(Normal mode)按下u会撤消上一步的操作,U(大字)是一个特殊的撤消键,它会撤消在在最后编辑的行上所作的所有操作.如果撤消的次数过多,按下Ctrl+r 会重做上次撤消的操作5) 复制和粘贴(Normal mode)yy 复制游标所在行整行。

Vi编辑器详细操作方法

Vi编辑器详细操作方法

Vi编辑器详细操作方法
-命令模式:在命令模式下,按下的命令会执行相应的操作,如移动光标、删除字符、复制粘贴等。

常用的命令有h(左移)、j(下移)、k(上移)、l(右移)等。

可以使用箭头键来进行移动,但是对于一些终端可能会出现不正常的问题。

3.切换模式
4.移动光标
-h,j,k,l键:在命令模式下使用h(左移)、j(下移)、k(上移)、l(右移)键可以分别移动光标。

h和l键分别对应左右移动,j和k键分别对应上下移动。

- Ctrl+d和Ctrl+u:在命令模式下使用Ctrl+d(向下滚动半屏)和Ctrl+u(向上滚动半屏)可以分别快速移动光标半屏的距离。

- gg和G:在命令模式下输入gg可以移动光标到文件的开头,输入G可以移动光标到文件的末尾。

- dd:删除光标所在行。

-:w:保存文件。

- yy:复制光标所在行。

-p:粘贴复制的文本。

6.查找和替换
在命令模式下,可以使用以下命令来查找和替换文本。

- /text:向下查找包含"text"的文本。

- ?text:向上查找包含"text"的文本。

-n:在查找模式下,按下n键可以继续查找下一个匹配项。

- :s/old/new:将光标所在行的第一个"old"替换为"new"。

- :s/old/new/g:将光标所在行的所有"old"替换为"new"。

7.其他功能
- 设置行号显示:在命令模式下,输入:set number可以显示文本的行号。

【Linux】Vim编辑器常用命令

【Linux】Vim编辑器常用命令

【Linux】Vim编辑器常⽤命令1. 启动vim:vim ⽂件名(如果是不存在的,则新建)2. 打开⽂件:vim ⽂件名(⽂件必须存在)3. vim的模式正常模式(按Esc或Ctrl+[进⼊)左下⾓显⽰⽂件名或为空以vi打开⼀个⽂件就直接进⼊⼀般模式了(这是默认的模式)。

在这个模式中,你可以使⽤上下左右按键来移动光标,你可以使⽤删除字符或删除整⾏来处理⽂件内容,也可以使⽤复制、粘贴来处理你的⽂件数据。

插⼊模式(按i键进⼊)左下⾓显⽰--INSERT—在⼀般模式中可以进⾏删除、复制、粘贴等的操作,但是却⽆法编辑⽂件的内容,只有当到你按下【i, I, o, O, a, A, r, R】等任何⼀个字母之后才会进⼊编辑模式。

这时候屏幕的左下⽅会出现【INSERT或 REPLACE】的字样,此时才可以进⾏编辑。

⽽如果要回到⼀般模式时,则必须要按下【Esc】即可退出编辑模式。

可视模式(不知道如何进⼊)左下⾓显⽰--VISUAL—命令⾏控制界⾯(shift+:)输⼊【 : / ? 】三个中的任何⼀个,就可以将光标移动到最底下那⼀⾏。

在这个模式中,可以提供查找、读取、存盘、替换字符、离开vi、显⽰⾏号等的动作则是在此模式中完成的!4. 插⼊命令i 在当前位置⽣前插⼊I 在当前⾏⾸插⼊a 在当前位置后插⼊A 在当前⾏尾插⼊o 在当前⾏之后插⼊⼀⾏O 在当前⾏之前插⼊⼀⾏【r, R】进⼊取代模式:r 只会取代光标所在的那⼀个字符⼀次R 会⼀直取代光标所在的⽂字,直到按下 ESC 为⽌;5. 移动命令h 左移⼀个字符l 右移⼀个字符,这个命令很少⽤,⼀般⽤w代替。

k 上移⼀个字符j 下移⼀个字符w 光标跳到下个字的开头e 光标跳到下个字的字尾H 光标移动到这个屏幕的最上⽅那⼀⾏的第⼀个字符M 光标移动到这个屏幕的中间那⼀⾏的第⼀个字符L 光标移动到这个屏幕的最下⽅那⼀⾏的第⼀个字符G 移动到这个⽂件的最后⼀⾏nG 移动到这个⽂件的第n⾏(可配合:set nu)gg 移动到这个⽂件的第⼀⾏,相当于1GEnd 移动到这⼀⾏的最后⾯字符处:$,我测试好像不⾏Home 移动到这⼀⾏的最前⾯字符处:0数字,但不能⽤数字⼩键盘上的数字Ctrl + e 向下滚动⼀⾏Ctrl + y 向上滚动⼀⾏Ctrl + d 向下滚动半屏Ctrl + u 向上滚动半屏Ctrl + f 向下滚动⼀屏Ctrl + b 向上滚动⼀屏n<space> 光标向右移动n个字符n<Enter> 光标向下移动n⾏6. 撤销和重做u 撤销(Undo)U 撤销对整⾏的操作trl + r 重做(Redo),即撤销的撤销。

vim命令的用法

vim命令的用法

vim命令的用法
vim 是一款功能强大的文本编辑器,它能支持多种文件类型的编辑和查看。

下面列出了一些常用的 vim 命令及其用法:
1. 打开文件:在终端中输入 vim 文件名,按回车键即可打开该文件。

2. 退出 vim:在编辑状态下,按 Esc 键,然后输入 :q,按回车键即可退出 vim。

如果改动了文件内容但没有保存,可以输入 :q! 强制退出 vim。

3. 保存文件:在编辑状态下,按 Esc 键,然后输入 :w,按回车键即可保存文件。

4. 保存并退出 vim:在编辑状态下,按 Esc 键,然后输入 :wq,按回车键即可保存文件并退出 vim。

5. 定位光标:使用 h(左)、j(下)、k(上)、l(右)键移动光标;使用 G 键可以跳到文件末尾。

6. 删除文本:在编辑状态下,使用 x 键可以删除当前光标所在位置的字符;使用 dd 命令可以删除当前行;使用 ndd(n 为数字)命令可以删除 n 行。

7. 撤销撤销:在编辑状态下,使用 u 命令可以撤销最近一次操作;使用 Ctrl + r 命令可以重做操作。

8. 查找文本:在命令模式下,使用 / + 要查找的文本可以找到该文本在文件中的位置;使用 n 命令可以跳到下一个匹配项。

9. 替换文本:在命令模式下,使用 :s/要替换的文本/替换后的文本/ 可以替换文本。

若要替换每一行中的所有匹配项,可以使
用 :%s/要替换的文本/替换后的文本/g。

以上是 vim 常用命令的简单介绍,更多命令可以在使用中逐渐掌握,并在 vim 手册中查询相关命令。

Linux笔记【005】vim编辑器使用教程

Linux笔记【005】vim编辑器使用教程

Linux笔记【005】vim编辑器使用教程Vim是Linux下一款编辑器软件,它的地位等同于windows下的notepad(记事本)。

其功能上要比windows的记事本要强上很多倍,这个vim在开发行业来说,有一个称号“编辑器中的神器”。

1.准备工作先将/etc/passwd复制一份,复制到当前的用户工作目录(/root),后期的vim操作都会在这个工作目录下进行修改。

•#cp /etc/passwd ./passwd2.打开文件第一种方式:#vim 需要打开的文件例如:打开当前目录下的passwd,则命令可以写成•#vim ./passwd回车后就打开文件了。

提示:如果想从文件内容中退出可以输入“:q”,然后回车退出。

第二种方式:#vim +数字需要打开的文件(打开文件之后快速的将光标定位到数字指定的行)命令:•#vim +6 ./passwd提示:vim默认是不显示行号的,我的会显示,是因为我修改过配置文件,如果你的不显示,想在当前文件中显示出行号可以输入:set nu,然后按下回车就可以显示出行号,如下:第三种方式:#vim +/字符串需要打开的文件(打开文件,之后高亮显示/后的字符串)•#vim +/login ./passwd例如:使用vim打开当前目录下的passwd文件,并且高亮显示“login”如果这个时候想在搜索高亮结果中进行光标的快速跳转,可以按下键盘上的“n”(向下切换),或者按下“N”(向上切换)。

如果想去除高亮显示,则可以输入:nohl,按下回车即可。

(no highlight)。

还有,腾讯云服务器从网页端登录,没有高亮效果。

特别说明:以上三个打开文件的方法,都有一个共同的特点,当打开的文件不存在的时候,它会以新文件的方式进行打开。

3.vim的三种模式在vim中存在三种模式:命令模式、末行模式、编辑模式。

三个模式之间的相互关系:默认是命令模式,如果说需要进入到末行模式,则可以在命令模式中按下英文“:”。

【Vim命令大全】史上最全的Vim命令

【Vim命令大全】史上最全的Vim命令

【Vim命令⼤全】史上最全的Vim命令曾经使⽤了两年多的Vim,⼿册也翻过⼀遍。

虽然现在不怎么⽤vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。

vim是我最喜欢的编辑器,也是linux下第⼆强⼤的编辑器。

虽然emacs是公认的世界第⼀,我认为使⽤emacs并没有使⽤vi进⾏编辑来得⾼效。

如果是初学vi,运⾏⼀下vimtutor是个聪明的决定。

(如果你的系统环境不是中⽂,⽽你想使⽤中⽂的vimtutor,就运⾏vimtutor zh)正常模式:可以使⽤快捷键命令,或按:输⼊命令⾏。

插⼊模式:可以输⼊⽂本,在正常模式下,按i、a、o等都可以进⼊插⼊模式。

可视模式:正常模式下按v可以进⼊可视模式,在可视模式下,移动光标可以选择⽂本。

按V进⼊可视⾏模式,总是整⾏整⾏的选中。

ctrl+v进⼊可视块模式。

替换模式:正常模式下,按R进⼊。

vim -c cmd file: 在打开⽂件前,先执⾏指定的命令;vim -r file: 恢复上次异常退出的⽂件;vim -R file: 以只读的⽅式打开⽂件,但可以强制保存;vim -M file: 以只读的⽅式打开⽂件,不可以强制保存;vim -y num file: 将编辑窗⼝的⼤⼩设为num⾏;vim + file: 从⽂件的末尾开始;vim +num file: 从第num⾏开始;vim +/string file: 打开file,并将光标停留在第⼀个找到的string上。

vim --remote file: ⽤已有的vim进程打开指定的⽂件。

如果你不想启⽤多个vim会话,这个很有⽤。

但要注意,如果你⽤vim,会寻找名叫VIM的服务器;如果你已经有⼀个gvim在运⾏了,你可以⽤gvim --remote file在已有的gvim中打开⽂件。

:e file --关闭当前编辑的⽂件,并开启新的⽂件。

如果对当前⽂件的修改未保存,vi会警告。

:e! file --放弃对当前⽂件的修改,编辑新的⽂件。

VIM命令快速记忆(转自杰哥)

VIM命令快速记忆(转自杰哥)

VIM命令快速记忆(转⾃杰哥)因为⾃⼰也是个linuxer熟练运⽤VIM是必须的,恰好学长杰哥对此有研究,转来给⼤家分享。

对此表达对杰哥的敬意。

有好东西分享给⼤家才能相互学习是吧。

要做个Linuxer,VIM的操作是必须就跟⼿指头盲打键盘那么熟练。

⾸先说下Vim的两种最常⽤模式,这是对菜鸟说的:),普通模式和输⼊模式,在普通模式下所有的按键都是命令,在输⼊模式下可以输⼊字符。

在刚⽤vi打开⽂档时,都是普通模式,本⽂就介绍如何快速记住⼀些最基本的操作命令。

先讲讲在普通模式下的光标移动。

当你的打字速度到达⼀定境界时,⽐如我:),我⾮常不喜欢把⼿移到⼩键盘或者⽅向键那⾥去,因为那个地⽅操作起来太慢严重影响我⼼情有⽊有,所以VIM就是为⾼效的⼈设计的,它充分认识到这⼀点,在VIM⾥上下左右风别被 j k h l 代替,h:在最左边,当然是左移动啦!l:同理,在最右边,右移动!j:当刚打开⼀个⽂件,是不是⼀般都在开头,要往下移动啊!标准指法⾥右⼿⾷指在J上,⽤的最频繁,因此就⽤J来往下移咯!k:有下移动当然得下移动,就在J旁边吧,多好记!但是每次只移动⼀个,好⿇烦!如果我要往下移动五⾏,按五次不是要累死我,⽽且磨损键盘!⾼效的VIM当然已经解决问题,在hjkl前加数字,⽐如3j就是向下移动三⾏,3l即使向右三⾏啦!但是虽然hjkl移动很⽅便,但是只能逐个字符移动,好不爽,我想⼀个⼀个单词的移动,w 可以解决,你⽤w就可以很⽅便的每次移动单词,怎么记住这个快捷键呢,w就是word的缩写啊,亲!w是向右移动⼀个单词,想移动多个单词,和上⾯⼀样加个数字就可以来,3w向右移动三个单词。

能向右移还得向左移动啊,b可以解决这个问题,b是back的缩写,后退⼀个单词嘛!3b的意思你懂的。

随便这⾥提下,w在移动过程中是每次光标都停留在单词的⾸字符,想让光标在移动中停留在尾字符或者在⼀个单词中想跳到单词的尾字符,⽤“e”,end嘛简单的移动掌握上⾯⼏个键就可以了,当然还得知道有时候我想快速移动到⼀⾏的开头和结尾怎么办呢,数字“0”,第0个字符的意思,就可以将光标移到⼀⾏开头处,符号“$”,就是美元的符号,移动到⾏尾。

vi命令速查

vi命令速查

一般模式:光标移动h 或-> 光标向左移动一个字符l 或<- 光标向右移动一个字符k 或上方向键光标向上移动一个字符j 或下方向键光标向下移动一个字符Ctrl+f 屏幕向前翻动一页Ctrl+b 屏幕向后翻动一页Ctrl+d 屏幕向前翻动半页Ctrl+u 屏幕向后翻动半页+ 光标移动到非空格符的下一列- 光标移动到非空格符的上一列0 (数字0)移动到这一行的第一个字符处$ 移动到这一行的最后一个字符处H 光标移动到这个屏幕最上方的那一行M 光标移动到这个屏幕中央的那一行L 光标移动到这个屏幕最下方的那一行G 移动到这个文件的最后一行nG 移动到这个文件的第n行。

n 光标向下移动n行一般模式:查找与替换/str 在光标之后查找一个str字符串。

n for next?str 在光标之前查找一个str字符串。

n for next:n1,n2s/str1/str2/g 在第n1与n2行之间查找str1这个字符串,并将该字符串替换为str2 :%s/str1/str2 全文查找str1这个字符串,并将每行最左边的第一处str1替换为str2 :%s/str1/str2/g 全文查找str1这个字符串,并将每处str1替换为str2:1,$s/str1/str2/g 从第一行到最后一行查找str1字符串,并将该字符串替换为str2:1,$s/str1/str2/gc 从第一行到最后一行查找str1字符串,并将该字符串替换为str2,且在替换前显示提示符让用户确认(confirm)一般模式:删除、复制与粘贴x,X x为向后删除一个字符,X为向前删除一个字符nx 向后删除n个字符dd 删除光标所在的那一整行ndd 删除光标所在列的向下n列,例如,2dd则是删除2列d1G 删除光标所在行到文件首行的所有数据dG 删除光标所在行到文件尾的所有数据yy 复制光标所在行nyy 复制光标所在列的向下n列,例如,2yy则是复制2行y1G 复制光标所在列到第一列的所有数据yG 复制光标所在列到最后一列的所有数据p,P p为复制的数据粘贴在光标下一行,P为粘贴在光标上一行J 将光标所在行与下一行的数据连接成一行u 恢复前一个动作xp 当前字符与后边的字符互换ddp 当前行与下一行互换编辑模式:. 重复上一动作i,I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退a,A 添加:由当前光标所在处的下一个字符开始输入,已存在的字符会向后退o,O 插入新的一行:从光标所在处的下一行行首开始输入字符r,R 替换:r会替换光标所指的那一个字符;R会一直替换光标所指的文字,直到按下Esc为止Esc 退出编辑模式,回到一般模式命令行模式::w 将编辑的数据写入硬盘文件中:w! 若文件属性为只读,强制写入该文件:e! 重新编辑当前文件(之前的编辑将不会保存):q 退出vi:q! 若曾修改过文件,又不想保存,使用!为强制退出不保存文件:wq 保存后退出,若为:wq!,则为强制保存后退出:x 保存后退出,文件若无变化则不写:w[filename] 将编辑数据保存为另一个文件:r[filename] 将filename这个文件内容加到光标所在行的后面:set nu 显示行号:set nonu 取消显示行号n1,n2w[filename] 将n1到n2的内容保存为filename这个文件。

VIM命令速查表

VIM命令速查表

VIM命令速查表今天整理⼀份 VIM 常⽤命令速查表,当做给⾃⼰备忘。

进⼊VIM 相关命令描述vim filename打开或者新建⽂件vim +n filename打开⽂件并将光标置于第n⾏⾏⾸vim + filename打开⽂件并将光标置于最后⼀⾏⾏⾸vim +/pattern filename打开⽂件并将光标置于第⼀个与pattern匹配的⼦串处vim -r filename如果上次⾮正常退出vim编辑,-r 命令可⽤于恢复当前⽂件vim filename ...... filename打开多个⽂件,依次编辑VIM 配置相关命令描述:set number显⽰⾏号nomagic允许在搜索模式中使⽤前⾯不带""的特殊字符:set hlsearch⾼亮显⽰查到找的单词:set nohlsearch关闭⾼亮:set nu显⽰⾏号缩写光标移动相关命令描述k nk上向上移动n⾏j nj下向下移动n⾏h nh左向左移动n⾏l nl右向右移动n⾏Space光标右移⼀个字符Backspace光标左移⼀个字符Enter光标下移⼀⾏w/W光标右移⼀个字⾄字⾸b/B光标左移⼀个字⾄字⾸e/E光标右移⼀个字⾄字尾)光标移⾄句尾(光标移⾄句⾸{光标移⾄段落开头}光标移⾄段落结尾n$光标移⾄第n⾏⾏尾H光标移⾄屏幕顶⾏M光标移动⾄屏幕中间⾏L光标移动⾄屏幕最后⾏0(数字0)光标移动⾄当前⾏⾸^光标移动到⾏⾸第⼀个⾮空字符$光标移动⾄当前⾏尾gg移动到第⼀⾏G移动到最后⼀⾏f光标移动到当前⾏的字符a上F光标移动到当前⾏的字符Z上nG移动到第n⾏上G光标移动到最后⼀⾏屏幕滚动命令描述ctrl + u朝向当前⽂件⾸翻半屏ctrl + d朝向当前⽂件尾翻半屏ctrl + d朝向当前⽂件尾翻半屏命令描述ctrl + f朝向当前⽂件尾翻⼀屏ctrl + b朝向当前⽂件⾸翻⼀屏nz将第n⾏滚动⾄屏幕顶部,如果未指定n,则将当前光标所在⾏滚动到屏幕顶部⽂本插⼊命令描述i在光标前插⼊I(⼤写的i)在当前⾏⾏⾸插⼊a在光标后插⼊A在当前⾏⾏尾插⼊o在当前⾏下⾯新起⼀⾏O在当前⾏之上新起⼀⾏r替换当前光标后⾯的⼀个字符R替换当前光标后所有字符,直到按ESC结束s从当前光标位置开始,以输⼊的⽂本替代相应数量的字符S删除指定数量的⾏,并以输出⽂本替代ncw/nCW删除指定数⽬的⾏,并以输出⽂本替代nCC修改指定数⽬的⾏删除⽂本命令描述x/X删除⼀个字符,x删除光标后的,⽽X删除光标前的dw删除⼀个单词(删除光标位置到下⼀个单词开始的位置)dnw删除n个单词dne也可,只是删除到单词尾do删⾄⾏⾸d$删⾄⾏尾dd删除⼀⾏ndd删除当前⾏及其后n-1⾏dnl向右删除n个字母dnh向左删除n个字母dnj向下删除n⾏,当前⾏+其上n⾏dnk向上删除n⾏,当期⾏+其下n⾏cnw[word]将n个word改变为wordC$改变到⾏尾cc改变整⾏shift+j删除⾏尾的换⾏符,下⼀⾏接上来了复制粘贴命令描述p粘贴⽤x或d删除的⽂本ynw复制n个单词yy复制⼀⾏ynl复制n个字符y$复制当前光标⾄⾏尾处nyy拷贝n⾏撤销命令描述u撤销前⼀次的操作shif+u(U)撤销对该⾏的所有操作搜索及替换命令描述/pattern从光标开始处向⽂件尾搜索pattern?pattern从光标开始处向⽂件⾸搜索patternn在同⼀⽅向重复上⼀次搜索命令N在反⽅向上重复上⼀次搜索命令cw newword替换为newwordn继续查找.执⾏替换/p1/p2/g将当前⾏中所有p1均⽤p2替代,g表⽰执⾏⽤c表⽰需要确认:n1,n2 s/p1/p2/g将第n1⾄n2⾏中所有p1均⽤p2替代:g/p1/s//p2/g将⽂件中所有p1均⽤p2替换:1,$ s/string1/string2/g在全⽂中将string1替换为string2⽂件及其他命令描述:q退出vi:q!不保存⽂件并退出vi:e filename打开⽂件filename进⾏编辑:e!放弃修改⽂件内容,重新载⼊该⽂件编辑:w保存当前⽂件:wq存盘退出:ZZ保存当前⽂档并退出VIM。

vim实用手册

vim实用手册

« 博客园首页胖爷的 im实用手册 - 基础篇(打开、关闭、移动、搜索)作者 jinshoucai来源 博客园发布时间 2011-11-08 15:15 阅读 59 次原文链接[收藏]在linux中,常用的编辑器,大概有2个半,vi或者vim,emacs,还有个简单的nano。

有人说程序猿分为三种,一种是使用vim的,还有一种使用emacs的,剩下的都是第三种。

用现在一个时髦的比方,普通程序猿用emacs或者类似的vs,文艺程序猿用vim,二逼程序猿用其他。

由此可见 VIM的强大程度,这是一款非常适合程序员使用的,熟练了以后会上瘾的编辑器。

vim设计了多种模式,常见的模式包括命令模式,编辑模式,命令行模式等,这个也是和其他编辑器一个很不相同的地方,用习惯了ms的各种文本编辑器,可能会比较不习惯,但是如果将模式熟悉了就可以发现在不同的模式之间切换是很平常的事情,而且带来的好处是更少的按键和更快的输入。

VIM是VI的优秀后裔,虽然VI的后裔中不仅仅包括VIM,但是VIM是实现对VI的兼容性最好的编辑器,其他的后裔还包括STEVIE, ELvis, NVi, Vile等。

除了实现对VI的兼容性外,VIM还扩展了很多的功能,包括语法高亮,代码折叠,脚本扩展等等。

vim我也是初学乍练,开始也是因为在linux中,写shell用这个比较方便,同时也没有更多的选择,只是被迫的使用,可一来二去,当度过了记忆那些头疼的键盘指令后,才开始渐入佳境。

与windows种那些常用的文本编辑器如 vs,word,notepad比较,vim入门显然是比较难的,可如果用习惯了以后,也许就会迷恋上这种不使用鼠标甚至小键盘的设计。

废话少说,言归正传,把使用心得记录下来,供今后参考。

一、三种模式vim的工作模式1.命令模式(Command mode) ESC进入命令模式。

2.编辑模式(Insert mode) ESC可退出此模式。

Vim常用操作命令整理

Vim常用操作命令整理

Vim 常用操作命令整理导读vim是类unix系统里最常用的编辑器之一,有很多常用的操作命令,如果能熟练使用,一定会提高自己的输入速度,接下来整理了常用的命令。

打开关闭•vim xxx,vim +num xxx 命令行打开文件vim + filename 启动跳到文件结尾vim +143 filename 打开跳到143行调试代码有用vim +/search-term filename 跳到第一个匹配vim +/search-term filename 跳到最后一个匹配vim -t tagvim —cmd command filename 加载文件前执行命令vim -c “:50” filename 加载文件后执行命令:e xxx vim中打开文件:w[rite],:up[date],:w!,up!,:wall保存文件: x,:q,:qa,:q!,退出文件gf 普通模式下打开文件名为光标处文字的文件Ctrl+W f 新窗口打开匹配的文件Ctrl+W fg 新tab页打开匹配的文件代码相关•<,>对代码进行缩进<<,>>用于调整源代码缩进格式= 用户自动格式化代码缩进,gg=G 即为全文格式化***,zo,zc,za,zR,zM对代码进行折叠打开折叠Ctrl+],Ctrl+T查找函数的定义和返回大写K,看光标所指标识符的man帮助移动光标•h,j,k,l ←↓↑→ 移动光标,相当于四个方向键w,b,e,ge 以单词的方式移动,可以nw,nb,ne,nge的方式移动n个单词的距离W,B,E,gE会以连续字符串的方式移动0,^,g_,移动到行首,行尾以及后面第n行的行尾gg,G,nG,ngg 移动到文件头和文件尾,以及移动到文件的第n行,‘可以回到上一次的地方H,M,L n%定位光标到当前屏幕的某个地方{,},[[,]],(,) 段落,区块,语句导航z回车,z-,zz.当前行置顶,置底,置中Ctrl+G显示当前位置信息Ctrl+F,Ctrl+B,Ctrl+U,Ctrl+D,Ctrl+E,Ctrl+Y,向前后滚动一屏,半屏,一行Ctrl+I,Ctrl+O 光标移到下一次和上一次的地方,Ctrl+I 和Tab功能一样‘,”,[,]为跳转前的位置,最后编辑的光标位置,最后修改的开始位置,最后修改的结束位置Ctrl+^ 在两个文件之间轮换‘“,’.,`.上一次光标的地方,上一次修改的地方编辑•i,a,o,I,A,O分别进入插入模式o 在当前光标所在行下方插入一行,O在当前光标所在行上方插入一行J 删除换行符,合并两行Ctrl-R 重做u,nu撤销上一次更改,撤销n次更改U 撤销整行的更改Ctrl+R 重做更改Ctrl+L 重新加载屏幕内容y,d,p 表示拷贝,删除,粘贴,配置位置描述使用 yw,dw,y0,d0,y,yfa,dfa,yy,dd,D,dG,dgg等,前面可以加数字,表示重复如,3dd,3yy等,也可以加范围,如4,8yy%y+.y+,N,My+ 拷贝指定的数据:[range] g[lobal[!]] /{pattern}/ [cmd]:[range] v[global[!]] /{pattern}/ [cmd]n,p,next,previous,Ctrl+^在编辑的文件中切换:ls 查看打开的文件:e #n 打开标号为ls结果中的文件:changes 查看文件变化ga查看ASCII,十进制,十六进制查找•/pattern-回车在文件内向后查找pattern的匹配,n重复,N回退,n 前面可以带数字pattern-回车在文件内向前查找pattern的匹配,n重复,N回退,n前面可以带数字f{char}/t{char} 在行内查找下一指定字符, ;重复, ,回退F{char}/T{char} 在行内查找上一指定字符, ;重复, ,回退*,#高亮所有匹配光标所在单词,相当于输入了/word,如果想单独匹配单词/\<word\>,则需要g*,g# ,gd提留在非注释段的第一个匹配\<,\>表示匹配单词的开头和结尾.,^,$在查找的过程中作为正则策略,如果需要完全匹配需要转义% 查找匹配的括号() [] {}替换•. 重复上次的修改(一定要是修改)比如说上次删除一个字符,点就是删除一个字符的意思;如果上次是删除一行,点就是删除一行的意思了。

vim编辑器心得体会

vim编辑器心得体会

vim编辑器心得体会作为一名使用者长期使用vim编辑器的用户,我想分享一些我对这个强大文本编辑工具的心得体会。

首先,vim是一个高度可定制的编辑器。

在初次接触vim时,我发现它被一些人形容为“令人无法理解的编辑器”。

事实上,vim的学习曲线确实相对陡峭,但一旦掌握了基本的操作和命令,它会成为你的得力助手。

通过简单的配置,我个人可以根据我自己的需求来个性化定制vim,使其更符合我的编辑风格和工作习惯。

其次,vim拥有丰富的命令和功能。

通过vim的命令模式,我可以快速进行文本的编辑和操作。

例如,使用:h[elp]命令可以查看vim的帮助文档,其中包含了众多的功能和命令的详细说明。

使用:find命令可以快速搜索指定的文本,而使用:substitute命令可以实现文本的替换。

此外,vim还支持多窗口布局、语法高亮和文本折叠等高级功能,这些功能大大提高了我的编辑效率和舒适度。

再次,vim支持大部分操作的快捷键。

通过合理利用vim的快捷键,我可以更加迅速地进行编辑操作。

例如,使用i进入插入模式,在此模式下可以编辑文本;使用ESC键回到命令模式,可以执行各种命令;使用:wq保存并退出文件等等。

这些快捷键的使用不仅可以减少移动手指的次数,也能提高编辑的流畅性和效率。

此外,vim具有极高的可扩展性。

通过使用各种插件和脚本,我可以进一步增加vim的功能和扩展它的能力。

例如,我可以安装AutoComplete插件,实现自动补全功能;我可以安装vim-airline插件,美化vim的界面;我还可以使用NERDTree插件来浏览文件系统。

这些插件的使用能够帮助我更好地管理和组织我的编辑工作,使vim变得更加强大和灵活。

最后,我想说的是,vim是一个需要耐心和实践的编辑器。

初次接触vim时,我可能会感到困惑和不知所措,但只要持之以恒地去使用和学习,掌握vim的技巧和技巧是完全可能的。

通过不断地练习和使用,我逐渐熟悉了vim的各种命令和操作,发现了它的便利和高效。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VIM QUICK REFERENCE CARD Basic movement h l k j . . . . . . . . . . . . character left, right; line up, down b w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . word/token left, right ge e . . . . . . . . . . . . . . . . . . . . . end of word/token left, right { } . . . . . . . . . . . . . beginning of previous, next paragraph ( ) . . . . . . . . . . . . . . . beginning of previous, next sentence 0 gm . . . . . . . . . . . . . . . . . . . . . . . . . beginning, middle of line ^ $ . . . . . . . . . . . . . . . . . . . . . . . . . first, last character of line nG ngg . . . . . . . . . . . . . . . . . . . line n, default the last, first n% . . . . . . . . percentage n of the file (n must be provided) n| . . . . . . . . . . . . . . . . . . . . . . . . . . . . column n of current line % . . . . . match of next brace, bracket, comment, #define nH nL . . . . . . . . . . . . line n from start, bottom of window M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . middle line of window Insertion & replace → insert mode i a . . . . . . . . . . . . . . . . . . . . . . . . . insert before, after cursor I A . . . . . . . . . . . . . . . . . . . . insert at beginning, end of line gI . . . . . . . . . . . . . . . . . . . . . . . . . . insert text in first column o O . . . . . . open a new line below, above the current line rc . . . . . . . . . . . . . . . replace character under cursor with c grc . . . . . . . . . . . . . . . . like r, but without affecting layout R . . . . . . . . . . . . . replace characters starting at the cursor gR . . . . . . . . . . . . . . . . . like R, but without affecting layout cm . . . . . . . . . . . . . change text of movement command m cc or S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . change current line C . . . . . . . . . . . . . . . . . . . . . . . . . . . . change to the end of line s . . . . . . . . . . . . . . . . . . . . . change one character and insert ~ . . . . . . . . . . . . . . . . . . . . . . switch case and advance cursor g~m . . . . . . . . . . . . switch case of movement command m gum gUm . . . lowercase, uppercase text of movement m <m >m . . . . . . . . . . shift left, right text of movement m n< < n> > . . . . . . . . . . . . . . . . . . . . . . . shift n lines left, right Deletion x X . . . . . . . . . . . . . . delete character under, before cursor dm . . . . . . . . . . . . . . delete text of movement command m dd D . . . . . . . . . . . . . delete current line, to the end of line J gJ . . . . . . . . join current line with next, without space :rd← . . . . . . . . . . . . . . . . . . . . . . . . . . . . . delete range r lines :rdx← . . . . . . . . . . . . . delete range r lines into register x
Insert mode ˆVc ˆVn . . . . . . . . . insert char c literally, decimal value n ˆA . . . . . . . . . . . . . . . . . . . . . . insert previously inserted text ˆ@ . . . . . . . same as ˆA and stop insert → command mode ˆRx ˆRˆRx . . . . . . . . . insert content of register x, literally ˆN ˆP . . . . . . . . . . . . . . text completion before, after cursor ˆW . . . . . . . . . . . . . . . . . . . . . . . . . . . delete word before cursor ˆU . . . . . . . . . . delete all inserted character in current line ˆD ˆT . . . . . . . . . . . . . . . . . . . shift left, right one shift width ˆKc1 c2 or c1←c2 . . . . . . . . . . . . . . . . . . enter digraph {c1 , c2 } ˆOc . . . . . . . . . . . . execute c in temporary command mode ˆXˆE ˆXˆY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . scroll up, down esc or ˆ[ . . . . . . . . . abandon edition → command mode Copying "x . . . . . . . . . . . . use register x for next delete, yank, put :reg← . . . . . . . . . . . . . . . show the content of all registers :reg x← . . . . . . . . . . . . . . show the content of registers x ym . . . . . . . . . . . yank the text of movement command m yy or Y . . . . . . . . . . . . . . . . . . . yank current line into register p P . . . . . . . . . . . put register after, before cursor position ]p [p . . . . . . . . . . . . . . . . . . . like p, P with indent adjusted gp gP . . . . . . . . . . . like p, P leaving cursor after new text Advanced ertion g?m . . . . . . . . . . perform rot13 encoding on movement m nˆA nˆX . . . . . . . . . . . . . . +n, −n to number under cursor gqm . . . . . . . format lines of movement m to fixed width :rce w← . . . . . . . . . . . center lines in range r to width w :rle i← . . . . . . . left align lines in range r with indent i :rri w← . . . . . . right align lines in range r to width w !mc← . filter lines of movement m through command c n!!c← . . . . . . . . . . . . . . filter n lines through command c :r!c← . . . . . . . . . filter range r lines through command c Visual mode v V ˆV . . start/stop highlighting characters, lines, block o . . . exchange cursor position with start of highlighting gv . . . . . . . . . . . start highlighting on previous visual area aw as ap . . . . . . . select a word, a sentence, a paragraph ab aB . . . . . . . . . . . . . . . . . . . select a block ( ), a block { }
相关文档
最新文档