4、linux 下文本编辑器 vim 的使用

一、Vim 的三种模式

1. 一般模式

  • 以 vim 打开一个文件就直接进入一般模式(默认),可复制、粘贴、删除
  • vim +:打开文件,定位至最后一行
  • vim +n:打开文件,并定位于第 n 行

2. 编辑模式

  • 需要编辑文件时通过输入i进入insert 模式,编辑模式下可输入文件内容,按Esc回到一般模式。

3. 命令模式

  • 在一般模式中,输入: / ?三个中的任何一个就可以将光标移动到最底下那一行,进入命令模式,可执行保存退出、查询/替换字符、显示行号等。

二、三种模式下的快捷键

1. 一般模式快捷键

  • 键盘上的上下左右、PgUp/PgDn、Home\End、Del
  • 删除
    • x:向后删除一个字符(光标所在处),等价于 Del
    • nx: 向后删除 n 个字符
    • X:向前删除一个字符
    • nX:向前删除 n 个字符
    • dd:删除光标所在行
    • ndd: 删除光标所在行(包括)以下的 n 行
    • D:删除从光标所在之处(包括)开始到该行末尾的全部字符
    • dG :删除当前行至文件尾的内容
    • dgg :删除当前行至文件头的内容
  • 撤消和重复操作
    • u(ndo):撤消前一次的编辑操作
    • .:重复前一次编辑操作(不包括u)
  • 复制
    • yy:复制光标所在行
    • nyy:复制光标所在(包括)向下n行
  • 粘贴
    • p:将已复制的数据粘贴到光标所在下一行
    • P:将已复制的数据粘贴到光标所在上一行
  • 移动光标
    • G: 移动光标到行尾
    • nG:移动光标到第 n 行
    • gg:相当于1G,即移动光标到行首
  • 一般模式下的保存和退出:
    • ZZ:保存退出,相当于命令模式下的:wq
    • ZQ:不保存退出,相当于 命令模式下的:q!

2. 编辑模式快捷键

  • i进入insert 模式,R进入replace 模式,一直替换光标所在处文字直到按下Esc
  • o:在光标所在处下一行插入新的一行
  • O:在光标所在处上一行插入新的一行

3. 命令模式快捷键

  • :q! :不保存强制退出
  • :wq!:保存强制退出
  • :xx:跳至xx行
  • :%s/word1/word2/g: 在当前文件查找全部的word1,然后全部替换成word2
  • :set nu:显示行号
  • :! command临时切换到命令行模式下执行command
  • /word:向下查找单词word,按Enter进入查询,按 n/N 显示下/上一个搜索结果,?word 是向上查找

三、常用 Vim 设置

# 1、复制一份vim配置文件到自己的个人目录下,因为在原始目录下是只读文件,不能随意修改
cp /usr/share/vim/vimrc ~/.vimrc  

# 2、打开vim配置文件
vi ~/.vimrc 

# 3、进入 insert 模式,在文件最后加入以下设置
syntax on

"鼠标可用
set mouse=a

"设置显示行号
set nu 
"可以用来显示非可见字符   
set list

"第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab

"将 tab 之后用 | 显示对齐的竖线
set lcs=tab:\|\ ,nbsp:%,trail:-  

"下面两行在进行编写代码时,在格式对起上很有用;
"第一行,vim 使用自动对起,也就是把当前行的对起格式应用到下一行;
"第二行,依据上面的对起格式,智能的选择对起方式,对于类似 C 语言编写上很有用
set autoindent          
set smartindent 

"打开高亮搜索和增量搜索
set hlsearch
set incsearch

"显示匹配
set showmatch
set matchtime=1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值