关于vim/vi简单介绍

Vim/Vi 简介

 

Vim/Vi 是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器。作用是:建立、编辑、显示文本文件。(所有Linux和Unix中都会默认安装)

Vim/Vi 用于在使用Linuxserver时,进行脚本编程和配置文件修改时主要使用,比较好用。

Vim/Vi 没有菜单,只有命令。(Vim是Vi的一个增强版)(Vim 下载:www.vim.org)

 

一般使用Vim编写系统配置文件和写shell脚本时,需掌握如下命令:

插入命令:

在光标后附加文本

在本行行末附加文本

i   在光标前插入文本

I   在本行开始插入文本

在光标下方插入一行

在光标上方插入一行

定位命令:

h、方向左键  光标左移一个字符

j、方向下键  光标下移一行

k、方向上键  光标上移一行

l、方向右键  光标右移一个字符   

(向上、下移动n行可以用njnkn方向上键、n方向下键;向左向右移动n个字符可以用nhnln方向左键、n方向右键)

$  、End键                     移至行尾

0 (零键)、Home键   移至行首

H                         移至屏幕上端

M                        移至屏幕中央

L                          移至屏幕下端

 

:set nu   显示行号

:set nonu 取消行号

gg                     到第一行

G                到最后一行

nG、:n      到第n行

删除命令:

x                 删除光标所在处字符

nx              删除连同光标所在位置及光标后的共n个字符

dd              删除光标所在行内容,ndd删除连同光标所在的行及光标下面共n行内容

dG             删除光标所在行到末尾的所有内容

D                删除光标所在处到行尾的内容

:n1,n2d 删除指定范围的行

复制和剪切命令:

yy、Y        复制当前行

nyy、nY   复制包括当前行在内的以下共n行

dd              剪切当前行

ndd       剪切包括当前行在内的以下共n行

p、P      粘贴在当前光标所在行下、行上

注意:使用删除命令所删除的内容均可用pP来进行粘贴,但是粘贴位置有所不同。其中,Dxnx命令删除的内容在粘贴时,p粘贴在光标后,P粘贴在光标前;而ddndddG:n1,n2d命令删除的内容在粘贴时,p粘贴在光标所在行的下一行,P粘贴在光标所在行的上一行。

替换和取消命令:

r                 替换光标所在处字符

R                从光标所在处开始替换字符,按ESC结束

u                取消上一步操作

搜索和替换命令:

/string                  向前搜索指定字符串(搜索时想忽略大小写:set ic关闭忽略大小写:set noic)

n                             上搜索指定字符串的下一个出现位置(N 上一个出现位置)

:%s/old/new/g          全文替换指定字符串

:n1,n2s/old/new/g   在一定范围内替换指定字符串(可用c代替g,区别就是c会提示是否替换

保存退出命令:

:wq 、ZZ  保存并退出

:wq!            强行保存退出(只有文件的所有者或者root才可以这样

:q!                          强行不保存退出(只有文件的所有者或者root才可以这样

:w                         保存不退出

:w 新文件名 另存为功能(:w 目录/新文件名  另存在指定目录下)

块选择命令:

v                 字符选择,会将光标经过的地方反白选择

V                行选择,会将光标经过的行反白选择

Ctrl+v     块选择,可以用长方形的方式反白选择数据

y                将反白的地方复制起来

d               将反白的地方删除

其它技巧命令:

:r 文件名                                 导入某文件内容导入到当前文件中

:!命令                                      在Vi中执行命令(按回车退出)

:r!命令                                     导入命令的执行结果到当前文件中

:map 快捷键  触发命令    定义快捷键

              范例  :map ^P I#^[ (^P ctrl+v ctrl+p ctrl+v+p  ^[ ctrl+v+ESC)光标移到行首插入#后退出(启用ESC键)到命令模式

                       :map ^B 0x    光标移到行首删除行首字母

                        :map ^E ithis is a test!  定义ctrl+e插入i后面的内容(注意:并没有退回到命令模式

:unmap 快捷键              取消快捷键定义

:n1,n2s/^/#/g                  连续行注释(^表示行首)

:n1,n2s/^#//g                   连续行取消注释(^表示行首)

:n1,n2s/#//g                     去掉连续行内所有井号

:n1,n2s/^/\/\//g                连续行用//注释(^表示行首,使用了转义符)

:ab 内容1      内容2          替换(将输入的内容1变成内容2)

:unab 内容1                      取消替换

 

关于Vim配置:

宿主目录 (homedirectory   宿主目录可以指定,但默认root的宿主目录是/root 普通用户的宿主目录是/home/用户名)

         Vi 的配置文件存放在用户的宿主目录下 ~/.vimrc

用户只有将定义的快捷键等对vi的配置写在配置文件中,才能每次都使用,否则,每次对vi的设置是不保存的。

Vim与vi比较:

Vim与vi相比,vim具有颜色显示的功能,且支持许多程序语法(C语言等),可以进行C语言等程序编辑。当使用vim编辑程序时,vim可直接检查程序的语法错误。

另外,vim可以进行多文件编辑

vim file1 file2

:files        列出当前使用vim打开的文件

:n               编辑下一个文件

:N              编辑上一个文件

Vim的多文件编辑可以实现将一个文件中的某些内容复制、剪切到另一个文件中。

Vim还可以进行多窗口编辑

         在一般的窗口界面下的编辑软件都会有“切割窗口或冻结窗口”的功能,vim也有这样的功能。

:sp          将当前文件在两个窗口里显示

:sp filename1 在当前窗口里切割出一个窗口显示filename1文件

Ctrl+w+j、Ctrl+w+方向上键      

Ctrl+w+k、Ctrl+w+方向下键          在各个窗口之间切换光标

 

Vim会主动将你曾经做过的行为记录下来,记录操作的文件是~/.viminfo

(.viminfo是自动产生的,用户在vim里所做的操作可以在这个文件内部查询到)

DOS 与Linux断行字符的转换:

dos2UNIX [-kn] file [newfile]    -k(不更新文件上次内容经过修订的时间)

UNIX 2dos [-kn] file [newfile]    -n(保留原本的旧文件,转换后并保存到新文件)

在DOS和Linux的文本编辑模式和下,断行字符是不同的。DOS中使用的断行字符是^M$(我们成为CR LF两个符号),Linux中仅有$(LF)这个断行符号。

文件语系编码的转换:

iconv --list    列出iconv支持的语系数据

iconv –f 原本编码 –t 新编码 filename[-o newfile]

        -f from

     -t to

           -o file 若要保留原来的文件,使用该选项可建立新编码文件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值