vi与vim

vi的使用;

3中模式:一般模式,编辑模式,命令行模式

一般模式下能够删除复制搜索黏贴字符但是不能修改字符

编辑模式插入或替换来编辑内容

命令行模式:读取保存文件

vi 加文件名 进入一般模式

一般模式按i进入插入模式

插入模式按esc进入一般模式

一般模式按:进入命令行模式

常用命令:

一般模式:

set nu   显示行号

set nonu   不显示行号

查看:

page up(ctrl+b)  上翻一页

page down(ctrl+f)   下翻一页

nG  光标移动到第n行(配合set nu使用)

n enter    向下移动n行

查找与替换:

/word     向下搜寻word字符  n向下的下一个     N向上的上一个

:n1,n2s/word1/word2/gc      在n1到n2之间的word1换成word2   询问

删除:

x删除一个字符

dd删除整行

ndd删除往下n行

yy复制一行

nyy复制n行

p黏贴

u撤销

ctrl+r 重做(针对撤销)

.重做上一次操作

对行来说:

0(home) 行首

$(end)    行尾

n space   像右移动几个字符

编辑模式:

i  进入插入模式

esc  退出插入模式

一般模式到命令行模式的切换;

:w保存

:w!强制保存

:q离开不保存

:q!强制离开不保存

:w[文件名]  以新的文件保存

:r[文件名]      吧文件名下的内容写入当前文件

2.vim的保存文件的恢复,打开的警告信息

3.vim的功能:

块选择;  V   行选择

    ctrl+ v    长方形块选择

    y 复制

    d删除

    p粘贴

4多文件编辑:

vim  文件1 文件2

在内部使用:n下一个文件

     :N上一个文件

      :files 查看打开的所有文件

5多窗口功能:

在插入模式下输入:sp 文件名

        ctrl+w 按下松开  再按j切换到下一个窗口

                  k切换到上一个窗口

5vim的环境设置与记录

命令行下:set all 查看所有环境设置

vim的所有记录都放在/etc/vimrc下

6vim的编码问题

中文编码问题:linux默认的支持的语系(/etc/sysyconfig/i18n),bash的语系(LANG),文件原本的编码,打开终端机的软件

dos与linux的断行字;

windows下的dos断行是CR LF 2个字符

而linux下的断行是LF1个字符

dos ->linux    dos2UNIX [-kn]   file   newfile

linux->dos  UNIX2dos     [-kn]    file   newfile

语系编码的转换:iconv -f 原编码 -t 目标编码 文件名  [-o 新文件名]

原文地址:https://www.cnblogs.com/hysz/p/7170208.html