Linux笔记--Vim编辑器

一、vi和vim

        vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于Windows系统下的记事本。很多软件默认使用vi作为他们编辑的接口。vim是进阶版的vi,vim可以视为一种程序编辑器。

        复制/etc/passwd文件到自己的目录下(不要直接修改letc/passwd),后面使用passwd文件演示 vim命令

下载vim: sudo apt-get install vim


#用法1: 
vim 文件路径
含义:打开指定的文件
#用法2:
vim +数字 文件的路径
含义:打开指定的文件,并且将光标移动到指定行
#用法3:
vim +/关键词文件的路径
含义:打开指定的文件,并且高亮显示关键词
#用法4:
vim 文件路径1 文件路径2 文件路径3
含义:同时打开多个文件

二.vim三种模式


vim中存在三种模式:命令模式、编辑模式(输入模式)、末行模式

  • 命令模式:打开文件之后默认进入该模式,可以输入快捷键进行一些操作:删除、复制、粘贴、移动光标等
  • 编辑模式:可以对文件的内容进行编辑
  • 末行模式:可以在末行输入命令来对文件进行操作:搜索、替换、保存、退出、撤销、高亮等

进入编辑模式:(大写一般与行相关,小写一般与光标相关)

  • i: 光标处 (光标处插入)
  • l:行首(第一个非空字符)
  • a: 下一个字符 (光标后添加)
  • A:行尾
  • o:光标下边插入一空行
  • O:光标上边插入一空行
  • s: 取代当前字符(替换)
  • S:取代当前行

退回命令模式:[Esc]


进入末行模式:

  • /或?:进入末行模式,后面接字符串进行查找

退出vim:

  • q:退出
  • wq:保存并退出
  • q!:强制退出
  • x:文件没有修改时直接退出,在文件修改的情况下保存并退出(不要使用X,X是文件进行加密)

异常退出:在编辑文件之后并没有正常wq(保存退出),而是遇到突然关闭终端或者断电的情况,则会显示下面的效果,这个情况称之为异常退出

Linux笔记--Vim编辑器_第1张图片

解决办法:删除隐藏的临时文件(以.swp结尾)


三、命令模式


打开文件之后默认进入该模式

1.光标移动

  • 光标上下左右移动:方向键 或 kjhl
  • 光标上下左右移动指定行或字符:[数字]方向键 或 [数字]Kjhl
  • 光标移动到行首:^
  • 光标移动到行尾:$
  • 光标移动到首行:gg
  • 光标移动到末行:G
  • 自动格式化程序:gg=G
  • 光标移动到指定行:[数字]G 或 [数字]gg
  • 向上翻屏:按键ctrl+ b 或 PgUp
  • 向下翻屏:按键ctrl + f 或 PgDn
#向下移动5行
5 下方向键
#移动指定行
7 gg/G

2.复制/粘贴/剪切

  • 复制光标所在行:yy
  • 光标所在行的下一行新开一行粘贴: p
  • 以光标所在行为准,向下复制指定的行数:[数字]yy
  • 剪切/删除光标所在行: dd
  • 剪切/删除光标所在行为准,向下剪切/删除指定行:[数字]dd
  • 剪切/删除光标所在的当前行之后的内容:D
  • 可视化操作(view)(相当于鼠标的选中): v(可视模式)、V(可视行)、ctrl +v(可视块),然后按下方向键来选中需要操作的区块按下y复制或按下d删除
#复制5行
5 yy p

3.撤销/恢复

  • 撤销(undo) : u 或者 :u(末行模式)
  • 恢复(取消)之前的撤销操作:ctrl + r

四、末行模式


1.保存与退出文件

  • 保存: :w
  • 另存为: :w 路径
  • 退出::q
  • 保存并退出: :wq
  • 强制执行: :!
  • 不保存,强制退出: :q!

2.查找与替换

  • 查找: /关键词 或 ?关键词
  • 在搜索结果中切换上/下一个结果(next) : N/n
  • 取消高亮 : :nohl
  • 替换光标所在行第一条原数据: :s/原数据/新数据
  • 替换光标所在行全部原数据: :s/原数据/新数据/g
  • 替换整个文件每行第一条原数据: :%s/原数据/新数据
  • 替换整个文件全部原数据: :%s/原数据/新数据/g

[符号含义]:

  • %表示整个文件g表示全局(global)3.显示行号
  • 显示行号(临时)(number) : :set nu取消显示行号: :set nonu

3.显示行号

显示行号(临时)(number) : :set nu

取消显示行号: :set nonu


4.*执行shell 指令

#执行shell指令*      
![shell指令]
! ls /

5.*切换文件

查看当前已经打开的文件名称: :files

  • 切换指定文件: :open已经打开的文件名
  • 切换到上一个文件(back prev): :bp
  • 切换到下一个文件(back next) : :bn

五、vim的配置

        临时配置:末行模式下输入的配置

        全局配置文件(vim自带): /etc/vim/vimrc

        个人配置文件(优先级更高): ~l.vimrc

   /etc/vim/template.c

#include
#include                                                              
#include
#include
#include

int main(int argc, char* argv[])
{
    
    return 0;
}

~/.vimrc

set number
" 突出显示当前行
set cursorline
" 设定 tab 长度为 4
set tabstop=4
" 搜索时高亮显示被找到的文本
set hlsearch
"开启新行时使用智能缩进
set smartindent
"显示命令
set showcmd
"命令行高度
set cmdheight=2

"autocmd BufNewFile *.c 0r /usr/share/vim/vimfiles/template.c
"设置头文件及主函数模板                                                         
autocmd BufNewFile *.c 0r /etc/vim/template.c

全局配置文件和个人配置文件都有同一个配置项时,以个人配置文件为准


你可能感兴趣的:(笔记,Linux,linux,编辑器,笔记)