Skip to content

Latest commit

 

History

History
160 lines (118 loc) · 6.5 KB

VIM 编辑器.md

File metadata and controls

160 lines (118 loc) · 6.5 KB

VIM使用笔记

命令 vimtutor 可以进入vim教程, 就是文档介绍.
系统配置文件 /etc/vim/vimrc    ,用户配置文件 $HOME/.vimrc 

vim 中的快捷按键和命令:

    上下左右   k j h l
    上一页     Ctrl + b
    下一页     Ctrl + f

    快速退出   ZZ  .
    代码排版   gg=G  .
    快速定位   行号加G  .
    
    光标定位   0 (零,到行首) ,  $(行尾) .
    光标快速   gg (文件首部),   G(文件尾部).
    行数跳转   123G (跳转到123行).
    增加行数   222 回车  (跳转到当前行数+222 的那一行).
    
    区块选择   crtl+v   可以进行矩形范围选择.(非常好用),还可以进行矩形粘贴.
		列选择     V  大v, 可以直接选择一行.

    删除字符    x (删除光标后面的)  X (删除光标前面的).
    删除单词    dw(删除光标所在单词的后面的部分).
    删除半行    d0(删除光标这一行前面的所有字符) D或d$ (删除后面的).
    删除整行    dd (这个实际是剪切,但是可以用来删除).
    删除多行    20dd (删除当前光标位置向下的20行内容).
    删除所有    dG (在文件开头输出,会全部删除).
    删除任意    先进入v 可视模式. 选择后再按 d 就可以了.

    撤销操作     u
    反撤销       Ctrl + r  (组合键)
    复制一行     yy (在想要复制的行内输入).
    粘贴一行     p / P (一个在光标下面,一个在光标上面粘贴). 
    复制多行     3yy (复制了三行).
    任意复制     先进入v 可视模式. 选择后再按 y 就可以了
    任意粘贴     p / P  (会在光标后面或前面进行粘贴,但是需要 任意复制).

    替换操作     r / R ( r 一个字符,是光标后面的字符, R 替换多个,从光标后的位置向后替换).
    整行替换     :s/需要替换的内容/替换后的内容/g  (把这一行的内容替换掉).
    指定行替换   :12,29s/work/newlink/g  (把12到29行中的 work 替换成 newlink).
    全文替换     :%s/work/newlink/g      (全文的 work 替换成 newlink).
    提示替换     :s/work/gc    (c 关键字会提示用户是否替换,上面都能使用这个选项).

    查找操作     / 或者 ?  在单词上按 # 可以查找这个单词 (n 向下,N 向上).
    man文档      章节号 + K  (在函数上按就会打开一个帮助文档,q退出和vim一样).
                            (函数按3, 系统调用按2, shell和执行程序按1)
    shell命令    ! 后面跟shell 命令就可以执行了.   ! gcc main.c

    十六进制显示  :%!xxd      将当前的文本转换成十六进制来显示.
    文本格式显示  :%!xxd -r   将当前文本转换回文本格式显示.
    
    分屏操作     :sp 文件名  或者 :vsp 文件名 (一个横向屏,一个竖向屏,在后面添加文件名就能打开两个不同文件).
    屏幕切换     Ctrl + w w  (两个ww 之后就可以在两个窗口之间切换光标了).
    多窗口保存   :wall   (退出是 :qall  , 保存退出:wqall)
    直接分屏     vim -O 文件1 文件2  ; (shell命令, 直接打开两个文件并且分屏显示,竖屏)


     获得当前文件的编码格式   :set fileencoding
     设置当前文件的编码格式   :set fileencoding=utf8
     
     :set display=uhex 或者 :set by=uhex  显示不可显示字符-十六进制(\r 变成 <0d>)配合 -b参数
     
尽量使用 ~/.vimrc 来配置打开文件编码
set fileencodings=utf-8,gb18030,gbk,gb2312,ANSI,ucs-bom,cp936,big5,euc-jp,euc-kr

win下CR换行符删除步骤

# 使用 -b 二进制模式 来打开文件
$ vim -b  fileNmae 

vim 模式:
	:set display=uhex			显示不可显示字符 , 开启后 末尾会出现 <0d> 这个标识
	:%s/\r//g							全局替换成空  /r = 0xd0 

保存即可

vim 的暂存盘、救援回复与打开时的警告讯息

当出现 vim 被异常中断 或 多人同时编辑一个文件时, 就会出现警告讯息. 让你来选择打开方式.

这个警告讯息是由 .filename.swp 这个vim 打开文件自动生成的文件引起的. 也是保存了你编辑过的文件未保存的所有内容.(暂存盘)

  • O (大o)
    • 只读方式打开
  • E
    • 直接编辑,放弃 .filename.swp 文件的保存内容.(但是 .swp 文件并不会删除)
  • R
    • 载入暂存盘的内容. (.swp 文件还是存在,需要你在保存了编辑文件之后,进行手动删除 .swp 文件)
  • D
    • 确定暂存盘内容无用, 直接删除这个.swp 文件的内容,并重新建立一个新的.
  • Q
    • 离开,什么也不做,回到 bash
  • A
    • 和Q 动作类似

多文件编辑和切换

通过   $vim 文件1  文件2  文件3     来打开三个文件
然后输出  :files  会列出编辑的文件列表.
输入  :n 切换到下个文件,  :N 切换到上个文件

VIM 的挑字和补全功能

补全功能必须在编辑模式下可以生效.
首先要输入  ctrl + x  这个快捷键,进入补全模式, 然后再次输入下面三个快捷键组合之一来达到目的.
    ctrl + n    通过目前正在编辑的这个 '文件的内容文字' 作为关键字,予以补全.
    ctrl + f    以当前目录内的 '文件名' 作为关键字,予以补全.
    ctrl + o    以编辑文件的扩展名为语法补充(.c,.cpp),以vim 内置的关键字,予以补全

VIM 的环境设置参数

全局配置文件是 /etc/vimrc ,本地用户配置文件是 ~/.vimrc 需要手动创建.

.vimrc 配置参数如下

        "" 双引号是 注释标记符号
set nu             ""行号
set autoindent     ""自动排版
set backup         ""自动备份文件
syntax  on         ""on表示开启,会根据程序相关语法显示不同的颜色.
set bg=bark        ""可用于显示不同的颜色 色调, 默认是 'light'

在 vim 中,可以使用 :set all 来显示所有的环境参数设置值.

vim 中文编码

  • 引起中文出现乱码的几种状态
    • Linux 默认支持的语系数据: 这与 /etc/locale.conf 有关. (一般是 LANG=en_US.UTF-8)
    • 终端接口(bash) 的语系: 这与 LANG, LC_ALL 这几个变量有关.
    • 文件原有的编码.
    • 打开终端机的软件, 例如在 GNOME 下的窗口接口
  • 修正解决方案
    • 当文件是 utf8编码时
      • $LANG=zh_CN.UTF-8
      • $export LC_ALL=zh_CN.UTF-8
    • 当文件是 big 编码时
      • $LANG=zh_CN.big5
      • $export LC_ALL=zh_CN.big5
    • 解决上面两种后, 再次调整 终端机 (你使用的终端软件) 的编码.