北京企业网站建站哪家好,网站建设万禾,游戏网站规划方案,网站建设骗vi编辑器是所有Unix及linux系统下标准的编辑器#xff0c;类似于Windows系统下的记事本。很多软件默认使用vi作为他们编辑的接口。vim是进阶版的vi#xff0c;vim可以视为一种程序编辑器。
前言#xff1a;
1.文件准备
复制 /etc/passwd文件到自己的目录下#xff08;不…vi编辑器是所有Unix及linux系统下标准的编辑器类似于Windows系统下的记事本。很多软件默认使用vi作为他们编辑的接口。vim是进阶版的vivim可以视为一种程序编辑器。
前言
1.文件准备
复制 /etc/passwd文件到自己的目录下不要直接修改/etc目录下的passwd后面使用passwd文件演示vim。
cd [work-dir] #将[work-dir]改为自己的工作目录的路径即可
mv /etc/passwd ./ #复制文件
2.命令准备
系统自带的是vi编辑器vim需要自行下载所以在使用之前需要先下载vim。
sudo apt-get install vim
3.配置vim
这块我们可以学完后面的内容后再回来配置vim。
vim的配置包括临时配置、全局配置、个人配置三种方式。
其中临时配置是在vim的末行模式下输入配置在本次使用时生效的配置全局配置是在根目录下的/etc/vim/vimrc文件进行配置个人配置是在家目录下~/.vimrc的文件中进行配置。我们以个人配置为例
为了后序写c语言的代码避免重复输入经常使用的一些语句我们在/etc/vim/template.c中写入模板
首先执行sudo vim /etc/vim/template.c命令然后输入以下内容
#includestdio.h
#includestdlib.h
#includestring.h
#includeunistd.h
#includepthread.hint main(int argc, char* argv[])
{return 0;
}在~/.vimrc文件中写入以下内容
首先执行sudo vim ~/.vimrc然后填入以下内容
set number突出显示当前行
set cursorline设定 tab 长度为 4
set tabstop4搜索时高亮显示被找到的文本
set hlsearch
开启新行时使用智能缩进
set smartindent
显示命令
set showcmd
命令行高度
set cmdheight2语法高亮度显示
syntax onautocmd BufNewFile *.c 0r /usr/share/vim/vimfiles/template.c
设置头文件及主函数模板
autocmd BufNewFile *.c 0r /etc/vim/template.c这个配置文件的最后一行就代表每次生成.c结尾的文件时都会自动写入/etc/vim/template.c文件中的内容。
4.初识命令
用法一#vim 文件路径打开指定的文件
用法二#vim 数字 文件路径打开指定的文件并将光标初始化为指定数字行
用法三#vim /关键词 文件路径打开指定文件并且高亮显示关键词
用法四#vim 文件路径1 文件路径2 文件路径3 ...同时打开多个文件退出第一个第二个自动显示
一、模式切换
vim中存在三种模式命令模式、编辑模式(输入模式)、末行模式 命令模式打开文件之后默认进入该模式可以输入快捷键进行一些操作删除、复制、粘贴、移动光标等 编辑模式可以对文件的内容进行编辑(就是普通的编辑模式下面不多做介绍了) 末行模式可以在末行输入命令来对文件进行操作搜索、替换、保存、退出、撤销、高亮等 模式切换按键说明
进入编辑模式
【i】insert从光标处进入
【l】从光标所在行的行首进入
【a】append从光标的下一个字符进入
【A】从光标所在行的行尾进入
【o】open从光标所在行的下边插入一个空行
【O】从光标所在行的上边插入一个空行
【s】subst插入时取代当前光标字符
【S】插入时取代当前行
退回命令模式
【esc】按键
进入末行模式
【:】代表末行模式开始了
【/】以搜索的状态进入末行模式从上往下搜索接下来输入的关键字
【?】以搜索的状态进入末行模式从下往上搜索接下来输入的关键字
退出vim
【q】退出
【q!】强制退出
【wq】保存并退出
【x】文件没修改直接退出、修改后保存并推出不要使用xx是文件进行加密
异常退出
在编辑文件后并没有正常wq保存退出而是遇到突然关闭终端或者断电的情况则会显示下面的效果这个情况称之为异常退出。 解决办法删除隐藏的临时文件以.swp结尾的文件
二、命令模式
打开文件后默认进入该模式
光标移动 1.光标上下左右移动方向键 或 kjhl(kjhl分别代表上下左右) 2.光标上下左右移动指定行或字符[数字]方向键或[数字]kjhl 3.光标移动到行首^ 4.光标移动到行尾$ 5.光标移动到首行gg 6.光标移动到末行G 7.自动格式化程序ggG 8.光标移动到指定行[数字]G 或 [数字]gg 9.向上翻屏按键ctrlb 或 PgUp 0.向下翻屏按键ctrlf 或 PgDn 复制/粘贴/剪切 1.复制光标所在行yy 2.光标所在行的下一行新开一行粘贴(paste)p 3.以光标所在行为准(包括当前行)向下复制指定的行数[数字]yy 4.剪切/删除光标所在行(剪切了不粘贴就是删除)deletedd 5.剪切/删除光标所在行为准(包括当前行)向下剪切/删除指定行数[数字]dd 6.剪切/删除光标所在的当前行之后的内容D 7.可视化操作(view)v(可视模式)V(可视行)、ctrlv(可视块)、然后按下方向键来选中需要操作的区块按下y复制或者按下d删除 撤销/恢复 撤销(undo)u或者末行模式下的:u 恢复(取消)之前的撤销操作ctrlr 三、末行模式
[ESC]→[:]依次按下这两个键进入末行模式按下退出键是为了确保处在命令模式
保存与退出文件 1.保存write:w 2.另存为:w 路径 3.退出quit:q 4.保存并退出:wq 5.强制执行! 6.不保存强制退出:q! 显示行号 显示行号(临时)(number):set nu 取消显示行号:set nonu 查找与替换 1.查找/关键字 or ?关键字 2.在搜索的结果中切换 上/下 一个结果(next)N/n 3.取消高亮(no highlight):nohl 4.替换光标所在行第一原数据:s/原数据/新数据 5.替换光标所在行全部原数据:s/原数据/新数据/g 6.替换整个文件每行第一条原数据:%s/原数据/新数据 7.替换整个文件全部原数据:%s/原数据/新数据/g 注%表示整个文件 gglobal全局的 执行shell命令
语法:![shell指令]
举例:!ls / 当外部命令执行结束之后按下任意键回到vim 切换文件 1.查看当前已经打开的文件名称:files 2.切换到指定文件:open 已经打开的文件名 3.切换到上一个文件back prev:bp 4.切换到下一个文件back next:bn 四、分屏操作
vim指令打开 1vim -d afile bfile #比较两个文件 #这个方法是用来比较两个文件的有高亮显示界面不太好看 2vim -On afile bfile #左右分屏打开两个文件 #Ctrlw l切换到右屏 #Ctrlw h切换到左屏 3vim -on afile bfile #上下分屏显示两个文件 #Ctrlw j切换到下屏 #Ctrlw k切换到上屏 编辑时打开
1.如果在编辑时想分屏显示当前文件
上下Ctrlw s 左右Ctrlw v
作用同样的文件可以显示不同的位置用于大文件参考上文使用。
特点这两个文件同步内容不同步显示位置。
2.如果想在编辑时分屏显示其它文件
上下vsp fileb_name 左右vs fileb_name
3.关闭当前窗口 关闭当前窗口不能关闭最后一个仅剩的窗口Ctrlw c 关闭当前窗口如果当前是最后一个窗口则退出vimCtrlw q 4.如果有更多屏幕
将当前光标移动到下一个屏(next)Ctrlw w
5.vim的分屏移动
将当前光标下的屏幕移动到 上屏位置Ctrlw K 下屏位置Ctrlw J 左屏位置Ctrlw H 右屏位置Ctrlw L vi/vim键盘图 感谢大家