VIM 使用教程
- 格式:doc
- 大小:69.00 KB
- 文档页数:10
Vi/Vim简明教程/archives/vim-basic-edit【VIM基本用法(一)】移动、编辑初次使用VIM(gVIM),一定会觉得无法适应,首先需要明确的一个概念,也是VIM的最大的一个特性就是,在VIM中,有两个主要的模式,一个是“命令模式“,一个是”编辑模式“。
在任何情况下按esc就是到了命令模式,在命令模式下按了”i”键或者其他的(后面会讲到)键就会进入编辑模式,进入编辑模式后,基本上就跟记事本是一样的操作了。
命令模式是VIM最大的特色所在,也是我们需要学习的地方所在。
这是系列教程第一篇,我们根据这幅图讲讲基本的一些操作吧:移动h,j,k,l 这四个键应该是VIM中使用频率最高的键了,分别代表向左,上,下,右移动,为什么这样设置,因为这样设置手移动的成本最低,方向键也可以用,但是我并不推荐使用方向键,太远了。
移动到行首行尾数字0可以快速定位到行首,符号$可以定位到行尾,^可以定位到本行第一个非空字符处,这些跟正则表达式的规则很类似。
单词移动w,b,e 是按照词为单位来移动的,所谓词就是指纯字母或者字符的一组集合,w 是下一个词的词首,e 是下一个词的词尾,b 是移动到上一个词的词首。
大写字母W,B,E 也是按照词为单位移动的,这里的词就是指中间没有空格的一串字符,不区分字母数字符号,只要中间没有空格,那么他这里所指的词。
编辑编辑、、修改i(nsert)键是在当前字符之前开始插入字符,按下了i 键之后,VIM 也就进入了编辑模式,这时候按esc 键可以退回到命令模式。
使用大写字母I ,表示在这一样的最前面插入字符。
x 可以删除当前的字符,大写的X 可是删除当前字符之前的一个字符。
a(ppend)键可以再当前字符之后开始插入字符,也会进入编辑模式。
大写A 键可以再当前行的最后开始插入字符。
u(ndo)键可以用来撤销上一次操作,ctrl+r(edo)键可以用来恢复上一次操作。
r 键用来替换当前字符,你输入完一个字符之后会自动回到命令模式。
Vim或Gvim详细配置配置一览:1、括号自动匹配[支持所有的括号类型以及引号等]2、一键添加语法模板、作者、时间等信息3、单源文件一键编译、运行[已配置支持所有主流编程语言]4、代码补全、函数跳转[由ctags实现]5、语法结构智能补全[由snipMate实现]6、在Vim里写博客、Wiki [由vimWiki实现]7、添加了Vim文档的简体中文版8、更多功能详见配置代码,本处提供配置文件和自定义配置文件夹的下载,下载链接请见本文末尾经过着色的配置文件:--------------------------------------------------使用说明:如果想图省事,那你就重新安装你的Vim到D:\Apps\Gvim,然后执行以下步骤:1、把整个vimfiles目录复制到D:\Apps\Gvim目录下覆盖原有目录2、将ctags.exe、cscope.exe、unzip.exe复制到D:\Apps\Gvim\vim73目录3、将D:\Apps\Gvim\vim73添加进环境变量4、把_vimrc文件复制到D:\Apps\Gvim目录下覆盖原有文件[有完整版和无Vimwiki版,建议使用后一版本] [如需使用wiki功能则可使用完整版,并参考完成环境的配置]配置文件中,凡涉及具体路径信息的请更换为你自己本机实际路径,凡涉及姓名、邮箱的请更换为你自己的姓名、邮箱------------------------ctags使用方法简要介绍:比如我想添加C/C++语言的代码补全,并能在函数调用间实现跳转,请执行以下步骤:1、首先确保系统能够找到ctags.exe,也就是ctags.exe添加到了系统环境变量2、以MinGW为例,到你编译器安装目录的include目录(比如C:\MinGW\include)执行ctags -R --languages=c,c++,这将在include目录下生成一个tags文件3、在_vimrc文件中添加以下一行:set tags+=C:\MinGW\include\tags4、以后编辑C/C++源文件时,按Ctrl + P即可拥有C/C++的代码提示。
VIM使用快捷键总结1.光标移动:-h:左移一个字符-j:下移一行-k:上移一行-l:右移一个字符-0:移动到行首-^:移动到行首第一个非空字符-$:移动到行尾- gg:移动到文件开头-G:移动到文件末尾-w:向前跳至下一个单词的开头-e:向后跳至下一个单词的结尾-b:向前跳至上一个单词的开头-(:向前移动一个句子-):向后移动一个句子-{:向前移动一个段落-}:向后移动一个段落2.插入、删除、复制与粘贴:-i:在当前光标处插入-I:在当前行首插入-a:在当前光标后插入-A:在当前行尾插入-o:在当前行下方插入新行-O:在当前行上方插入新行-x:删除当前光标处的字符- dd:删除当前行- dw:删除一个单词-d$:删除从光标到行尾的内容- yy:复制当前行- yw:复制一个单词-p:粘贴复制的内容-u:撤销上一步操作- Ctrl+r:重做上一步操作3.与替换:-/:-n:跳至下一个结果-N:跳至上一个结果- :s/old/new/g:在当前行替换第一个匹配项- :s/old/new/gc:在当前行替换所有匹配项,并进行确认4.文件操作:-:w:保存文件-:q:关闭文件-:q!:强制关闭文件- :wq:保存并关闭文件- :e filename:打开filename文件- :bn:下一个buffer- :bp:上一个buffer- :bd:关闭buffer- :sp filename:水平分屏打开filename- :vsp filename:垂直分屏打开filename- Ctrl+w:窗口切换5.撤销与重做:-u:撤销上一步操作- Ctrl+r:重做上一步操作-U:撤销对整行的修改6.选中与复制:-v:进入可视模式-V:可视行模式- Ctrl+v:可视块模式-y:复制选中内容-d:删除选中内容7.块操作:- Ctrl+v:进入可视块模式-I:在选中块行首插入-A:在选中块行尾插入-x:删除选中块-y:复制选中块-d:删除选中块8.折叠:- zf+光标移动:创建折叠- za:打开/关闭折叠- zc:关闭折叠- zo:打开折叠9.操作历史:- :earlier 10s:恢复到10秒前的状态- :later 10s:撤销到10秒后的状态10.多窗口操作:- Ctrl+w s:水平分割- Ctrl+w v:垂直分割- Ctrl+w j:光标移至下方窗口- Ctrl+w k:光标移至上方窗口- Ctrl+w h:光标移至左边窗口- Ctrl+w l:光标移至右边窗口- Ctrl+w =:调整窗口尺寸相等- Ctrl+w _:窗口最大化(水平方向)- Ctrl+w ,:窗口最大化(垂直方向)。
vim命令及快捷键[1. 关于Vim]vim是我最喜欢的编辑器,也是linux下第⼆强⼤的编辑器。
虽然emacs是公认的世界第⼀,我认为使⽤emacs并没有使⽤vi进⾏编辑来得⾼效。
如果是初学vi,运⾏⼀下vimtutor是个聪明的决定。
(如果你的系统环境不是中⽂,⽽你想使⽤中⽂的vimtutor,就运⾏vimtutor zh)[1.1 Vim的⼏种模式]正常模式:可以使⽤快捷键命令,或按:输⼊命令⾏。
插⼊模式:可以输⼊⽂本,在正常模式下,按i、a、o等都可以进⼊插⼊模式。
可视模式:正常模式下按v可以进⼊可视模式,在可视模式下,移动光标可以选择⽂本。
按V进⼊可视⾏模式,总是整⾏整⾏的选中。
ctrl+v进⼊可视块模式。
替换模式:正常模式下,按R进⼊。
[2. 启动Vim]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中打开⽂件。
[3. ⽂档操作]:e file --关闭当前编辑的⽂件,并开启新的⽂件。
如果对当前⽂件的修改未保存,vi会警告。
:e! file --放弃对当前⽂件的修改,编辑新的⽂件。
:e+file -- 开始新的⽂件,并从⽂件尾开始编辑。
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编辑器时,⾸先进⼊普通模式。
在普通模式下,从键盘输⼊任何字符都被当作命令来解释。
普通模式下没有任何提⽰符,当输⼊命令时⽴即执⾏,不需要回车,⽽且输⼊的字符不会在屏幕上显⽰出来。
ViVim基本⽤法Vi/Vim是Linux中⼀款功能强⼤的编辑器,vi是Visual Interface的缩写,即可视化接⼝,vim是vi iMprove的缩写,即 vi的增强版(具有语法着⾊功能)。
它在Linux上的地位就仿佛Edit程序在DOS上⼀样。
它可以执⾏输出、删除、查找、替换、块操作等众多⽂本操作,⽽且⽤户可以根据⾃⼰的需要对其进⾏定制。
Vi不是⼀个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进⾏编排,它只是⼀个⽂本编辑程序。
vi没有菜单,只有命令,且命令繁多。
1.Vim配置⽂件全局vim配置⽂件:/etc/vimrc个⼈vim配置⽂件:~/.vimrc当我们需要设置Vim的部分功能时,我们可以通过修改配置⽂件来实现!例如:永久添加⾏号--------->在配置⽂件中加上set nu2.Vim三级模式及相互切换 三种模式 命令模式(默认):刚进⼊vim的时候,默认就是命令模式,可以复制⾏,删除⾏等。
输⼊模式:可以输⼊内容。
末⾏模式:在最下边,除编辑模式,可以输⼊诸多管理员命令命令⾏模式 任何时候,不管⽤户处于何种模式,只要按⼀下ESC键,即可使Vi进⼊命令模式;我们在shell环境(提⽰符为$)下输⼊启动Vi命令,进⼊编辑器时,也是处于该模式下。
在该模式下,⽤户可以输⼊各种合法的Vi命令,⽤于管理⾃⼰的⽂档。
此时从键盘上输⼊的任何字符都被当做编辑命令来解释,若输⼊的字符是合法的Vi命令,则Vi在接受⽤户命令之后完成相应的动作。
但需注意的是,所输⼊的命令并不在屏幕上显⽰出来。
若输⼊的字符不是Vi的合法命令,Vi会响铃报警。
⽂本输⼊模式 在命令模式下输⼊插⼊命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进⼊⽂本输⼊模式。
在该模式下,⽤户输⼊的任何字符都被Vi当做⽂件内容保存起来,并将其显⽰在屏幕上。
在⽂本输⼊过程中,若想回到命令模式下,按键ESC即可。
rosvim用法Vim是一款强大的文本编辑器,广泛应用于软件开发领域。
在ROS(机器人操作系统)环境中,Vim是常用的代码编辑工具之一。
本篇文章将介绍ROS环境下Vim的基本用法,包括安装、基本操作、文件操作、代码编辑等。
一、安装Vim在ROS环境中,可以通过以下命令安装Vim:```shellsudoapt-getinstallvim```安装完成后,Vim即可在ROS环境中使用。
二、基本操作1.打开文件:可以使用以下命令打开文件:```rubyvim文件名```2.保存文件:在Vim中,可以通过以下命令保存文件:```ruby:w```保存完成后,可以通过以下命令退出Vim:```ruby:q```3.进入Insert模式:可以通过以下命令进入Insert模式:```rubyi```4.退出Insert模式:可以通过以下命令退出Insert模式:```rubyEsc```5.移动光标:Vim支持多种移动光标的方式,包括上、下、左、右等方向键,以及Home和End键。
6.撤销操作:可以通过以下命令撤销一次操作:```rubyu```7.重做操作:可以通过以下命令重做一次撤销操作:```rubyCtrl+R```三、文件操作1.新建文件:可以使用以下命令新建一个空文件:```rubyvim+新建文件名打开文件路径/新文件路径/新文件名.txt(其中"新文件名"可以自定义)```2.删除文件:可以使用以下命令删除一个文件:在ROS环境中,删除文件需要注意以下几点:①如果该文件在系统根目录下,需要先通过rosversion-p获取文件属性;②如果要删除的目录中有其他重要文件,请务必确认删除后不会造成其他问题。
四、代码编辑和格式化代码使用方法根据具体需求和代码类型,可以使用Vim中的各种编辑和格式化功能。
常用的编辑和格式化功能包括缩进、注释、删除行等。
具体使用方法可以参考Vim的官方文档或相关教程。
vim实验总结一、vim简介vim是一款常用的文本编辑器,被广泛应用于各种操作系统中,特别是在Unix和Linux系统中。
它具有强大的功能和灵活的扩展性,可以通过配置文件进行个性化定制,使得用户能够高效地编辑文本文件。
二、vim的基本操作1. 进入vim编辑模式:在终端中输入`vim`命令,即可进入vim编辑器。
同时,可以通过`vim 文件名`的方式直接打开指定文件。
2. 基本的光标移动:使用h、j、k、l键进行左、下、上、右移动光标。
3. 编辑文本:在普通模式下按下i键,即可进入插入模式,此时可以对文本进行编辑。
按下ESC键可退出插入模式,返回普通模式。
4. 保存和退出:在普通模式下按下:w可以保存文件,按下:q可以退出vim编辑器。
若要保存并退出,可以使用:wq命令。
三、vim的高级操作1. 复制、粘贴和剪切:在普通模式下按下yy可以复制当前行,p可以将复制的内容粘贴到光标后。
按下dd可以剪切当前行,P可以将剪切的内容粘贴到光标前。
2. 撤销和重做:按下u可以撤销上一次的操作,按下Ctrl+r可以重做被撤销的操作。
3. 搜索和替换:在普通模式下按下/可以进行向下搜索,按下?可以进行向上搜索。
按下:n可以进行下一个匹配项的查找。
按下:%s/old/new/g可以替换全文中的old为new。
4. 分屏和标签页:按下Ctrl+w+v可以进行垂直分屏,Ctrl+w+s 可以进行水平分屏。
按下:tabnew可以打开新的标签页,Ctrl+w+方向键可以在标签页之间切换。
5. 自动补全和代码折叠:vim支持自动补全功能,可以通过配置文件启用。
同时,vim还支持代码折叠功能,可以通过设置折叠方法实现对代码段的折叠显示。
四、vim的优化建议1. 使用配置文件:vim提供了一个配置文件.vimrc,可以通过在该文件中设置各种参数和快捷键来个性化定制vim编辑器。
2. 使用插件:vim有丰富的插件生态系统,可以通过安装插件来扩展vim的功能,例如代码高亮、文件浏览、自动补全等。
Mac命令行中的文本编辑器Vim和Nano的基本用法在Mac命令行中,有两种常用的文本编辑器,分别是Vim和Nano。
它们都是用于在终端环境下编辑文本的工具,具备不同的特点和用法。
下面将介绍它们的基本用法。
一、Vim的基本用法Vim是一款功能强大的文本编辑器,具有多种操作模式和丰富的功能。
以下是Vim的基本用法:1. 打开文件:在命令行中输入`vim 文件名`,即可打开一个文件开始编辑。
若文件不存在,则会创建一个新文件。
2. 模式切换:Vim有三种基本模式,分别是命令模式、插入模式和底线命令模式。
默认情况下,进入Vim后处于命令模式。
- 命令模式:在该模式下,可以进行文本的复制、粘贴、删除、查找等操作。
常用命令包括:yy复制一行,dd删除一行,/关键词查找等。
- 插入模式:在命令模式下按下`i`进入插入模式,即可开始编辑文本。
插入模式下可以输入文本内容。
- 底线命令模式:在命令模式下按下`:`进入底线命令模式,可以执行一些高级操作,如保存文件、退出Vim等。
常用命令包括:w保存文件,q退出Vim等。
3. 保存文件:在底线命令模式下输入`w`,即可保存文件。
4. 退出Vim:在底线命令模式下输入`q`,即可退出Vim。
若文件有修改但未保存,可使用`q!`强制退出。
二、Nano的基本用法Nano是一款简单易用的文本编辑器,比Vim更加友好,适合新手使用。
以下是Nano的基本用法:1. 打开文件:在命令行中输入`nano 文件名`,即可打开一个文件开始编辑。
若文件不存在,则会创建一个新文件。
2. 编辑文本:在Nano中,光标自动处于插入模式,可以直接输入文本内容。
3. 保存文件:按下`Ctrl+O`,即可保存文件。
按下后会弹出文件名供确认,确认后保存文件。
4. 退出Nano:按下`Ctrl+X`,即可退出Nano。
若文件有修改但未保存,Nano会提示是否保存。
三、Vim和Nano的对比Vim和Nano都是常用的文本编辑器,下面是它们之间的一些对比:1. 功能:Vim功能更加强大,支持多种操作模式和丰富的命令。
在普通模式下复制,剪切和粘贴启动vim编辑器时,您处于正常模式。
在这种模式下,您可以运行vim命令并浏览文件。
要从其他任何模式返回正常模式,只需esc按键。
vim具有自己的复制,剪切和粘贴命令。
复制称为y,剪切称为d,粘贴称为p。
复制要复制文本,先将光标置于复制开始的位置,然后按y键,然后按移动命令。
以下是一些常用的命令:yy -提取(复制)当前行,包括换行符。
3yy -从光标所处的行开始,三行(复制)三行。
y$ -提取(复制)从光标到行尾的所有内容。
y^ -提取(复制)从光标到行首的所有内容。
yw -(复制)到下一个单词的开头。
yiw –提取(复制)当前单词。
y%-(复制)到匹配的字符。
默认情况下,支持对是(),{}和[]。
在匹配的括号之间复制文本很有用。
删除在正常模式下,d是剪切(删除)文本的键。
将光标移动到所需位置,然后按d键,然后按移动命令。
以下是一些有用的删除命令:dd -删除(剪切)当前行,包括换行符。
3dd -从光标所在的行开始,删除(剪切)三行,d$ -删除(剪切)从光标到行尾的所有内容。
适用于拉动的运动命令也可用于删除。
例如dw,删除到下一个单词的开头,并d^删除从光标到行首的所有内容。
粘贴要放置被选中或删除的文本,请将光标移动到所需位置,然后按p将文本p放置(粘贴)在光标之后或放置(粘贴)在光标之前。
在可视模式下复制,剪切和粘贴vim的可视模式允许您选择和处理文本。
01、将光标置于您要开始作图或剪切的行上。
02、可视模式具有三个子类型。
按v进入可视模式。
按v进入可视行模式,其中按行选择文本。
按ctrl+v进入可视块模式。
在此模式下,文本由矩形块选择。
进入可视模式还标记了一个开始选择点。
03、将光标移动到要复制或剪切的文本的末尾。
您可以使用移动命令或上,下,右和左箭头键。
04、按y复制或d剪切选择。
05、将光标移动到要粘贴内容的位置。
06、按下p可将内容粘贴到光标之前,或p将其粘贴到光标之后。
vim基本用法Vim基本用法Vim是一款强大的文本编辑器,它可以在Linux、Unix、Mac OS X等多种操作系统中使用。
它的灵活性和高效性使得它成为程序员和系统管理员的首选工具。
在本文中,我们将介绍Vim的基本用法。
一、命令模式当你打开Vim时,你将进入命令模式。
在这个模式下,你可以使用各种命令来编辑文本。
以下是一些常用的命令:1.移动光标h:向左移动一个字符j:向下移动一行k:向上移动一行l:向右移动一个字符2.删除文本x:删除光标所在位置的字符dd:删除整行文本3.复制和粘贴文本yy:复制整行文本p:粘贴复制的文本4.撤销和恢复u:撤销上一步操作Ctrl + r:恢复上一步操作二、插入模式在命令模式下,你可以使用i、a、o等命令进入插入模式,以便输入文本。
以下是一些常用的命令:1.插入文本i:在光标所在位置插入文本a:在光标所在位置的下一个字符插入文本o:在光标所在位置的下一行插入文本2.退出插入模式Esc:退出插入模式三、可视模式在命令模式下,你可以使用v、V、Ctrl + v等命令进入可视模式,以便选择文本。
以下是一些常用的命令:1.选择文本v:选择字符V:选择整行Ctrl + v:选择矩形区域2.复制和删除文本y:复制所选文本d:删除所选文本四、末行模式在命令模式下,你可以使用:命令进入末行模式,以便执行一些高级操作。
以下是一些常用的命令:1.保存文件:w:保存当前文件2.退出Vim:q:退出Vim:q!:强制退出Vim3.保存并退出Vim:wq:保存当前文件并退出Vim以上是Vim的基本用法,你可以通过阅读Vim的帮助文档来了解更多高级用法。
使用Vim需要一定的学习成本,但一旦掌握了它,你将获得无与伦比的编辑体验。
Mac命令行如何使用Vim进行代码编辑和快速导航Vim是一款强大的文本编辑器,被广泛应用于代码编辑和文件修改。
通过命令行界面,在Mac操作系统上使用Vim可以提高代码编辑的效率和便捷性。
本文将介绍Mac命令行如何使用Vim进行代码编辑和快速导航的具体方法。
一、打开命令行界面在Mac操作系统中,通过使用Terminal(终端)或其他支持命令行的应用程序打开命令行界面。
你可以在“应用程序”文件夹中找到Terminal,双击打开。
二、进入Vim编辑模式在命令行界面中输入以下命令,以进入Vim编辑模式:```vim```按下回车键后,你会看到一个空白的屏幕,这是Vim的编辑界面。
三、打开文件在Vim编辑界面中,输入以下命令来打开一个文件:```vim 文件名```其中,文件名可以是绝对路径或相对路径。
例如,要打开Desktop 目录下的file.txt文件,可以输入以下命令:```vim ~/Desktop/file.txt```这样,file.txt文件就会在Vim编辑器中打开。
四、在Vim中编辑代码一旦文件打开,你可以使用Vim进行代码编辑。
以下是一些常用的Vim编辑命令:1. 插入文本:按下键盘上的“i”键,进入插入模式。
此时,你可以自由地编辑文件内容。
2. 退出插入模式:按下键盘上的“Esc”键,退出插入模式。
3. 保存文件:在命令行模式下,输入以下命令保存文件:```:w```4. 保存并退出:在命令行模式下,输入以下命令保存文件并退出Vim编辑器:```:wq```以上是最基本的Vim编辑操作,你可以自行探索更多高级功能。
五、Vim快速导航除了基本的代码编辑功能,Vim还提供了一些快速导航的命令,帮助你在代码文件中快速移动和定位。
以下是一些常用的Vim导航命令:1. 上下左右移动光标:使用键盘上的方向键,或按下“h”(左)、“j”(下)、“k”(上)、“l”(右)来移动光标。
2. 快速跳转到行首:按下键盘上的“0”键,光标会跳转到当前行的行首。
vim使⽤技巧之翻页h 左,或 Backspace 或⽅向键j 下,或 Enter 或 +(要 Shift 键),或⽅向键k 上,或⽅向键或 -(不必 Shift 键)l 右,或 Space 或⽅向键使⽤ hjkl 键的移动是为了使⼿不必离开打字区(键盘中央的部位),以加快打字的速度,如果各位不习惯,那就使⽤⽅向键吧!Backspace 及 Space 的移动⽅式是到了⾏⾸或⾏尾时会折⾏,但⽅向键或 hl 键的移动则在⾏⾸或⾏尾时您继续按也不会折⾏。
转折换⾏的功能是 vim 的扩充功能,elvis ⽆此功能。
jk 及使⽤⽅向键的上下移动游标会尽量保持在同⼀栏位。
使⽤ Enter,+,- 的上下移动,游标会移⾄上(下)⼀⾏的第⼀个⾮空⽩字元处。
好像有点複杂,各位就暂时使⽤⽅向键来移动就简单明⽩了!等您爱上了 vim 后再来讲究吧。
Ctrl-f 即 PageDown 翻页。
Crtl-b 即 PageUp 翻页。
进阶的游标移动0 是数⽬字 0 ⽽不是英⽂字母 o。
或是 Hmoe 键,移⾄⾏⾸,(含空⽩字元)。
^ 移⾄第⼀个⾮空⽩字元,注意,要 Shift 键。
$ 移⾄⾏尾,或 End 键。
要 Shift 键。
以上两个按键是源⾃规则表⽰式(regular expression),在 regexp 中 ^ 是匹配⾏⾸,$ 是匹配⾏尾。
G 移⾄档尾(最后⼀⾏的第⼀个⾮空⽩字元处)gg 移⾄档⾸(第⼀⾏之第⼀个⾮空⽩字元处)gg 是 vim 的扩充功能,在 elvis 或原始 vi 中可⽤ 1G 来移⾄档⾸(是数字 1 不是英⽂字 l)。
G 之原意是 goto,指移⾄指定数⽬⾏之⾏⾸,如不指定数⽬,则预设是最后⼀⾏。
w 移⾄次⼀个字(word)字⾸。
当然是指英⽂单字。
W 同上,但会忽略⼀些标点符号。
e 移⾄前⼀个字字尾。
E 同上,但会忽略⼀些标点符号。
b 移⾄前⼀个字字⾸。
B 同上,但会忽略⼀些标点符号。
H 移⾄萤幕顶第⼀个⾮空⽩字元。
教程提供给大家供学习使用!1对VIM的基本介绍一句话介绍就是:VIM是一个超级超级强大的文本编辑器。
它和Emacs是一个数量级;而我认为,比UltraEdit、Editpad、EmEditor要高一个(至少半个数量级)。
如果你有兴趣,不妨一读《程序员的编辑器——VIM》,以便于对VIM有更详尽全面的理论认识。
要点1:VIM及前身VI,历史悠久(可能比多数读者的年龄更大),经历了几十年的考验和发展,值得信赖。
要点2:VIM有模式。
通俗地做一下对比。
notepad无模式(或称为只有一种编辑模式),你按下j,就是在正文中输入j;要保存,就要ctrl+s;要下移一行,就要↓或鼠标。
而在VIM中,打开一个文件后,并不处在编辑模式,而是Normal模式,此时你按j,VIM并不认为你要在正文中输入j,而是代表光标下移一行。
此时按i表示进入insert模式,即编辑模式,即notepad的模式。
编辑模式按Esc退回normal模式。
normal模式下按:进入命令行模式,用于输入较复杂的命令。
比如:w代表保存文件,:e a.txt代表打开文件a.txt。
即VIM可以不用鼠标、方向键、菜单、Ctrl、alt……发出命令。
因此,以下的体验中切记进入正确的模式:Esc到Normal;Normal下i到编辑;Normal下:到命令行。
再说明一点是:文中:打头的是命令行模式,此外多数Normal模式。
要点3:复杂对抗复杂。
VIM有的命令行很吓人,长长一串字符恍若天书。
这些貌似复杂,实际上无非是一些简单命令的组合而已。
借助于此,VIM用户可以实现非常复杂的需求。
如果你没有这样的需求,就无须理会它们。
要点4:一能百能。
这一点是Unix或命令行风格软件的显著长处,经过实用可以深刻体会。
本文尽管有一些例子,但它运用之妙,存乎一心的感觉,仍未能充分展示。
这里先打个比方,如果windows下某软件号称能炒菜,那意味着你点一下菜单,菜就做好了——这就是易用哲学。
vim -t命令的用法Vim 是一款强大而高效的文本编辑器,广受程序员和系统管理员的喜爱。
它被认为是一个学习曲线较陡峭的工具,但一旦掌握了它的基本命令和功能,它将成为你编写代码和编辑文本的不可或缺的工具。
本文将详细介绍 Vim 的 t 命令及其用法。
一、什么是 t 命令Vim 的 t 命令是一个光标移动命令,它主要用于在当前行查找并跳转到指定字符后的位置。
通过输入 t 后跟一个字符,Vim 将会在当前光标位置到该字符之间的位置上移动光标。
这个字符可以是任意可见字符,包括字母、数字、符号等。
t 命令非常有用,它可以帮助我们快速移动光标,并进行准确的定位。
二、基本语法t 命令的基本语法如下::t<字符>其中,<字符> 是我们要查找并跳转到的目标字符。
三、具体用法1. 向前搜索并跳转到目标字符使用 t 命令,我们可以在当前行内向前搜索并跳转到目标字符。
例如,如果你希望跳转到当前行内的第一个 'a' 字符后面的位置,你可以按下 "t a"(不包括引号)。
Vim 将会将光标移动到该字符后的位置。
2. 如何跳转到下一个匹配字符如果你希望再次跳转到下一个匹配字符的位置,你可以使用点(.)命令。
只需按下大写的 T 字母,Vim 将会向后搜索并跳转到上一个匹配字符的位置。
这可以帮助你快速地在文本中往前往后进行定位。
3. 大小写敏感默认情况下,t 命令是大小写敏感的。
这意味着它会搜索并跳转到与目标字符大小写完全匹配的字符位置。
例如,如果你在当前行输入 "t A",Vim 将不会匹配到小写字母 'a'。
如果你希望进行大小写不敏感的搜索,可以使用 / 或 ? 命令结合忽略大小写选项来实现。
4. 如何取消 t 命令如果你不小心按下了 t 命令,但又不想执行它,可以按下分号(; )键进行取消。
这将会撤销 t 命令,并将光标位置还原到命令执行之前的位置。
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 复制游标所在行整行。
或大写一个Y。
2yy 或y2y 复制两行y^ 复制至行首,或y0。
不含光标所在处字符。
y$复制至行尾。
含光标所在处字符。
yw 复制一个word.y2w 复制两个字。
yG 复制至档尾.y1G 复制至档首。
p 小写p 代表贴至光标后(下).P 大写P 代表贴至光标前(上)。
”ayy 将本行文字复制到a 缓冲区a 可为26 个英文字母中的一个,如果是小写的话,原先的内容会被清掉,如果是大写的话是append 的作用,会把内容附加到原先内容之后。
”ap 将a 缓冲区的内容贴上.6) 退出(Normal mode)ZZ 会退出VIM并且对所有编辑的文件保存起同样作用的命令(Command-line mode):wq 或者:x7) 插入文本(Normal mode 转入Insert mode)i会在光标所在字符前插入内容.I在当前行首插入内容。
a会让你在当标所在的位置之后继续输入内容.A 在当前行尾插入内容。
o命令会在光标所在行下面加入一行,并将光标移动的此行的开始以供输入如果想在光标所在行的上面加入一行,请使用命令O(大写)8) 替换(Normal mode)r 替换当前字符。
R 替换当前字符及其后的字符,直至按ESC 键。
s 从当前光标位置处开始,以输入的文本代替指定数目的字符。
S 删除指定数目的行,并以所输入的文本代替。
9) 重复命令(Normal mode)当要做多次同样的操作时,可以用计数来加快这一过程。
[number]command object 或者command [number]object其意是∶number —代表的是命令执行的次数command —代表要做的事情,比如d 代表删除object - 代表要操作的对象,比如w 代表单字/单词,$ 代表到行末等等。
举个例子如下9k会让你向上移动9行。
通过在命令前加一个数字n,就可以执行这一命令n次。
10) 文件操作vim FileName 打开文件FileName,并将光标置于第一行首。
vim +n FileName 打开文件FileName,并将光标置于第n 行首.vim + FileName 打开文件FileName,并将光标置于最后一行。
vim + /pattern File 打开文件File,并将光标置于其中第一个于pattern 匹配的字符串处。
vim –r FileName 在上次正用vi 编辑FileName 发生系统崩溃后,恢复FileName。
vim File1 … Filen 打开多个文件,依次对之进行编辑.11) 十六进制查看模式(Command-line mode):%!xxd 按十六进制查看当前文件:%!xxd -r 从十六进制返回正常模式12) 屏幕(Normal mode)H 光标移至屏幕顶行.M 光标移至屏幕中间行。
L 光标移至屏幕最后行。
Ctrl+u 向文件首翻半屏。
Ctrl+d 向文件尾翻半屏。
Ctrl+f 向文件尾翻一屏。
Ctrl+b 向文件首翻一屏.13) 大小写转换(Normal mode)guu 行小写gUU 行大写g~~ 行翻转guw 字小写gUw 字大写g~w 字翻转14) 文件状态(Normal mode)输入CTRL-g 显示当前编辑文件中当前光标所在行位置以及文件状态信息。
15) 搜索(Normal mode)输入/ 以及尾随的字符串可以用以在当前文件中查找该字符串。
要查找同上一次的字符串,只需要按n 键。
要向相反方向查找同上一次的字符串,请输入Shift—n 即可。
如果您想逆向查找字符串,请使用 ? 代替/ 进行“。
*[]ˆ%/\?~$”这些字符在VIM中有特殊意义,如果搜索内容中包括这些符号,需要在符号前面加“\".16) 配对括号的查找(Normal mode)按% 可以查找配对的括号)、]、}。
17) 查找函数的man说明(Normal mode)光标置于函数上,输入K18) 变量定位(Normal mode)gd 转到光标下局部变量的定义处Gd 转到光标下全局变量的定义处19) 自动补齐(Insert mode)CTRL-X CTRL—F 文件名CTRL—X CTRL-L 整行有ctags设置时:Ctrl—p 自动补齐上下文已有的相近项Ctrl-n 自动补齐tags 中的相近函数20) 标签跳转(Normal mode)CTRL+]跳转到光标当前位置的标签处(例如:一个函数的定义)。
CTRL+T 跳转到执行CTRL—] 命令前的地方。
:tselect 从一连串匹配的标签中选出一个.[/ 跳转到注释开始的位置。
]/ 跳转到注释结束的位置。
[# 返回到未闭合的#if, #ifdef,or #else 处.]#前进到未闭合的#else 或#endif 处。
[(返回到未闭合的'(’ 处。
)) 前进到未闭合的’]' 处。
[{跳转到最近对应的’{' 处.}} 跳转到最近对应的']’ 处.2. Visual mode 下操作进入Visual mode使用v,V,ctrl -vv:是以字节模式选择V: 是以行的方式选择Ctrl-v:以列的方式选择在列选方式下:I〈string>〈ESC> 在块的每一行首加上stringA〈string><ESC〉在块的每一行尾加上stringC〈string>〈ESC〉修改选中的列块(即删除并输入新内容)c<string〉<ESC〉修改选中的列块(即删除并输入新内容)〉右移Tab宽度< 左移Tab宽度3. 规则表达式(regular expression)及其应用1) 表达式●基本匹配^ 行的起始$ 行的结尾. 除换行字符外的任一单一字符* 指前所绑住的字符或字符集合,出现0 次或0 次以上\+ 和*作用相同,但不包括出现0 次\= 指前所绑住的字符恰好出现0 或1 次[…]匹配括号内任意一个字符[^…] 匹配除了括号内字符的字符\{n, m}指前所绑住的字符或字符集合最少出现n 次,最多出现m 次\(\)记忆pattern,可由\1,\2。
.\9 来叫出\< 匹配字(word)首,所谓word 包括文数字及底线\〉匹配字尾。
这就是前所提及的限定用法,被\<,或\〉括住的\|搜索的或操作●中介字符(metacharacter,or character classes)\d:匹配一个数字[0-9]\D:匹配一个非数字字符\x:匹配一个十六进制数[0-9A—Fa-f]\X: 匹配一个非十六进制字符\o:匹配一个八进制字符[0-7]\O:匹配一个非八进制字符\w: 匹配一个word字符[0—9A—Za—z]\W: 匹配一个非word字符\a: 匹配一个字母字符[A—Za-z]\A:匹配一个非字母字符\l:匹配一个小写字母字符[a—z]\L: 匹配一个非小写字母字符\u: 匹配一个大写字母字符[A—Z]\U: 匹配一个非大写字母字符\c: 忽略搜索内容大小写\C:大小写敏感2) 全域性指令:[range]g/pattern/[cmd]cmd 是ed 可用的指令,预设是p(print)。
这里主要是说明d(delete)的功能。
因为是要说明如何消除空白行.需注意的是,d 是行删除指令,凡含pattern 的整行都会被删掉,而且range 不指定的话,预设是全篇文章,因为g 就是代表globe。
例::g/^$/d 删除全文的空白行3) 替换:[range]s/pattern/string/[c,e,g,I,n]range 指的是范围,1,7 指从第一行至第七行,1,$ 指从第一行至最后一行,也就是整篇文章,也可以% 代表。
pattern 就是要被替换掉的字符串,可以用regexp 来表示。
string 将pattern 由string 所取代.c 每次替换前会询问。
e 不显示error。
g 不询问,整行替换。
n 不做替换操作。
(可以做统计用)I 忽略大小写Note:&代表置换时合于patern 的字符或字符串例:将档案3 至7 行的数据向右移2 个空白:3,7s/.\+/ &/4. 设置书签你可以在编辑的内容的某处设置书签(marks),然后到其它地方去编辑,在呼叫这个书签的时候就会回到设置点位置。
mx x 代表26 个小写英文字母,这样光标所在处就会被标记一个书签`x 就可以回到书签设置的位置‘x 回到书签设置行的行首:marks 得知目前所有书签的列表.小写字母只作用于单一档案内。