vim常用快学

VIM

基于模式的文本编辑工具

命令模式 command mode

进入vim后默认在命令模式

  • x 剪切光标处的字符
  • x 多除剪切

  • xp 交换位置
  • ~ 转换大小写
  • r 替换
  • R 进入替换模式,esc退出
  • d 删除
  • dd 删整行
  • D 删整行
  • dd 从光标处开始向下删好几行
  • cc 删除当前行并进入替换模式
  • /<查找的内容> 查找
  • u 撤销
  • ctrl+r 恢复撤销
  • U 一次全部撤销

插入编辑模式 edit mode

在命令模式输入以下字母,进入插入模式 INSERT

  • i 在当前位置编辑
  • I 在当前位置的行首编辑
  • a 在当前位置的后一个字符开始编辑
  • A 在当前位置的行尾开始编辑
  • o 在当前位置的下起一行开始编辑
  • O 在当前位置的上起一行开始编辑

输入esc退出编辑模式,返回到命令模式

文本加颜色

1.进入插入模式
2.按 Ctrl+v+[ 三个键,会显示^[
3.在[后输入颜色信息,如[32mhello[[0m
4.!wq保存退出并cat

[00:57:29 root@C8-3-55 ~]#vim hellow.color

^[[1;32mGreenHello   ## 手动输入^[
^[[1;32mGreenHello   ## 使用ctrl+v+[输入^[
^[[1;32mGreemHello ^[ ## 使用ctrl+v+[ 前后两次输入^[
^[[1;32mGreemHello ^[[0m ## 使用ctrl+v+[ 输入^[ 后用[0m恢复

[01:01:40 root@C8-3-55 ~]#cat hellow.color

^[[1;32mGreenHello   ## 手动输入^[
GreenHello   ## 使用ctrl+v+[输入^[
GreemHello ??用ctrl+v+[ 前后两次输入^[
GreemHello  ## 使用ctrl+v+[ 输入^[ 后用[0m恢复

vim常用快学

我们发现,手动输入的^[ 并没有效果。

如果需要给文字添加颜色,必须使用ctrl+v+[输入^[

扩展命令模式 extended command mode

常用操作命令

在命令模式输入:进入扩展命令模式

  • : 直接回车,返回命令模式
  • :wq 保存退出vim
  • :q!不保存退出vim
  • :w :w后面跟文件名,将正在编辑的文件另存为
  • :r :r后面跟文件名,读入已存在的文件
  • :! :!后面跟命令,可以在vim下执行命令
  • :r! :r!后面跟命令,可以在光标处插入执行命令的结果

地址定界

  • #为数字,表示具体第#行

  • ,# #为数字,表示从#行开始到#行结束

  • ,+# #为数字,表示从#行开始,往后加上#行,例如2,+3表示2到5行

  • . 表示当前行
  • $ 表示最后一行
  • .,$-# 表示当前行到倒数第#+1行,$最后行往前查#行
  • % 表示全文,相当于1,$,从第一行到最后一行

地址定界后可以跟相应的操作命令

  • d 删除
  • y 复制 粘贴用p贴在选定行下方,P贴在选定行上方
  • w 将选定内容另存为指定文件
  • r 在指定位置插入指定文件内容

查找替换

格式

s/要查找的内容/替换成的内容/修饰符(可选)

也可以使用其他分隔符

s#要查找的内容#替换成的内容#修饰符(可选)

修饰符

  • i 忽略大小写
  • g 全局全部替换
  • gc 全局替换,每次替换前询问

vim工作特性

加行号

临时加行号

  • 显示:set nu
  • 取消:set nonu

永久保存

修改vim的配置文件

  • /etc/vimrc 全局变量
  • ~/.vimrc 个人用户变量

在个人目录中新建./vimrc文件
插入 set nu

自动缩进

  • 启用 set ai
  • 取消 set noai

复制保留格式

  • 启用 set paste
  • 取消 set nopaste

显示不可见字符

有的时候多余的空格或制表符会影响程序的执行,显示不可见字符可以很明显的找出问题

  • 启用 set list
  • 取消 nolist

高亮搜索

  • 启用 set hlsearch
  • 取消 set nohl

语法高亮

  • 启用 syntax on
  • 取消 syntax off

table替换成4个空格

  • 启用 set ts=4

set all

:set all
--- 选项 ---
  aleph=224           hlsearch            shiftwidth=8
noarabic            noicon              noshortname
  arabicshape         iconstring=         showbreak=
noallowrevins       noignorecase          showcmd
noaltkeymap           imactivatefunc=   noshowfulltag
  ambiwidth=single  noimcmdline         noshowmatch
noautochdir         noimdisable           showmode
noautoindent          iminsert=0          showtabline=1
noautoread            imsearch=-1         sidescroll=0
noautowrite           imstatusfunc=       sidescrolloff=0
noautowriteall        includeexpr=        signcolumn=auto
  background=light    incsearch         nosmartcase
nobackup              indentexpr=       nosmartindent
  backupcopy=auto   noinfercase         nosmarttab
  backupext=~       noinsertmode          softtabstop=0
  backupskip=/tmp/*   isprint=@,161-255 nospell
  balloondelay=600    joinspaces          spellfile=
noballoonevalterm     key=                spelllang=en
  balloonexpr=        keymap=             spellsuggest=best
  belloff=            keymodel=         nosplitbelow

可视化模式

  • v 面向字符型,按字符可以选择多行

  • V 面向整行,整行整行的选

  • ctrl+v 块模式,可以选一个矩形的范围

vim常用快学

上一篇:MacOS终端ssh登陆红旗系统后中文乱码问题解决


下一篇:DIV + CSS 实现最经典的布局