新⼿指南:Linux上vi(vim)编辑器使⽤教程
gamekeyboard英文版vi(vim)是上Linux⾮常常⽤的编辑器,很多Linux发⾏版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使⽤灵活之后将会⼤⼤提⾼效率。vi 是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在⼀般的系统管理维护中vi就够⽤,如果想使⽤代码加亮的话可以使⽤vim。下⾯vps侦探整理⼀下vi的使⽤教程:包含vi的基本介绍、使⽤模式、⽂件的打开关闭保存、插⼊⽂本或新建⾏、移动光标、删除、恢复字符或⾏、搜索等等,算是⼀篇⽐较适合新⼿学习vi的教程。
vi有3个模式:插⼊模式、命令模式、低⾏模式。
●插⼊模式:在此模式下可以输⼊字符,按ESC将回到命令模式。
●命令模式:可以移动光标、删除字符等。
●低⾏模式:可以保存⽂件、退出vi、设置vi、查等功能(低⾏模式也可以看作是命令模式⾥的)。
1、VI或VIM的配置⽂件的路径
  发现/usr/share/vim/vimrc和/etc/vim/vimrc指向是同⼀个⽂件,即vimrc,为vi和vim的配置⽂件,修改这个⽂件即可。这个路径在不同的LINUX版本中可能会不同。
  2、配置颜⾊
  配置VI和VIM的颜⾊显⽰,使它能够⾼亮度显⽰⼀些特别的单词,这对编写程序很有⽤。后来打开⽂件发现⾥⾯其实已经有⼀⾏了,只是⽤引号注释掉了,只需将syntax on 所在⾏前⾯的引号去掉即可。或者另外独⽴添加⼀⾏:syntax on 也⾏,另外编辑/etc/profile 增加⼀⾏alias vi="vim"就⾏了。
  3、设置⿏标
  使⽤VI编辑⽂本时,如果想修⽂件中改离光标较远的位置,这时候想⽤⿏标定位,可默认情况下,⿏标是不可⽤的。如果你想使⽤⿏标,只需另起⼀⾏,写上:set mouse=a 即可
  4、设置⾃动缩进
  默认情况下,VI和VIM都没有缩进的,每换⼀⾏,光标均定位在顶格,如果你想⾃动对齐,请将 set autoindent所在⾏前⾯的引号去掉,或者另外添加⼀⾏:set autoindent也可。这与配置颜⾊类似。这样的设置的结果是按回车后新⾏与上⼀⾏⾃动对齐。
  5、设置tab的缩进量
  如果⽤python编写程序,那么⾏缩进量是⼀个极其重要的概念,同⼀个块的缩进量必须相同。你可能
喜欢在⾏前加空格来表⽰缩进,但每次必须敲多次空格键,如果你喜欢⽤按TAB键来表⽰缩进,你可能觉得写的⽂本或程序不太好看,因为默认情况下,VI和VIM的TAB缩进量⽐较⼤(⾄少六,七个字符)。设置TAB键缩进量的⽅法:set shiftwidth=3 你也可以选⼀个你⾃⼰喜欢的缩进量,⽐如2,或4。
  其他⽅便的技巧
  1、vi的基本概念
  基本上vi可以分为三种状态,分别是命令模式(command mode)、插⼊模式(Insert mode)和底⾏模式(last line mode),各模式的功能区分如下:
  1) 命令⾏模式command mode)
linux重复执行一个命令
  控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode。
  2) 插⼊模式(Insert mode)
  只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到命令⾏模式。
  3) 底⾏模式(last line mode)
  将⽂件保存或退出vi,也可以设置编辑环境,如寻字符串、列出⾏号……等。
  不过⼀般我们在使⽤时把vi简化成两个模式,就是将底⾏模式(last line mode)也算⼊命令⾏模式command mode)。
  2、vi的基本操作
  a) 进⼊vi
  在系统提⽰符号输⼊vi及⽂件名称后,就进⼊vi全屏幕编辑画⾯:
  $ vi myfile
  不过有⼀点要特别注意,就是您进⼊vi之后,是处于「命令⾏模式(command mode)」,您要切换到「插⼊模式(Insert mode)」才能够输⼊⽂字。初次使⽤vi的⼈都会想先⽤上下左右键移动光标,结果电脑⼀直哔哔叫,把⾃⼰⽓个半死,所以进⼊vi后,先不要乱动,转换到「插⼊模式(Insert mode)」再说吧!
  b) 切换⾄插⼊模式(Insert mode)编辑⽂件
react 自定义hooks
  在「命令⾏模式(command mode)」下按⼀下字母「i」就可以进⼊「插⼊模式(Insert mode)」,这时候你就可以开始输⼊⽂字了。
  c) Insert 的切换
  您⽬前处于「插⼊模式(Insert mode)」,您就只能⼀直输⼊⽂字,如果您发现输错了字!想⽤光标键往回移动,将该字删除,就要先按⼀下「ESC」键转到「命令⾏模式(command mode)」再删除⽂字。
  d) 退出vi及保存⽂件
  在「命令⾏模式(command mode)」下,按⼀下「:」冒号键进⼊「Last line mode」,例如:
  : w filename (输⼊「w filename」将⽂章以指定的⽂件名filename保存)
  : wq (输⼊「wq」,存盘并退出vi)
  : q! (输⼊q!,不存盘强制退出vi)
  3、命令⾏模式(command mode)功能键
  1). 插⼊模式
  按「i」切换进⼊插⼊模式「insert mode」,按“i”进⼊插⼊模式后是从光标当前位置开始输⼊⽂件;
  按「a」进⼊插⼊模式后,是从⽬前光标所在位置的下⼀个位置开始输⼊⽂字;
  按「o」进⼊插⼊模式后,是插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字。
  2). 从插⼊模式切换为命令⾏模式
  按「ESC」键。
⼀、打开⽂件、保存、关闭⽂件(vi命令模式下使⽤)
vi filename //打开filename⽂件
:w //保存⽂件
:w vpser //保存⾄vpser⽂件
:q //退出编辑器,如果⽂件已修改请使⽤下⾯的命令
:
q! //退出编辑器,且不保存
switch语句框图:wq //退出编辑器,且保存⽂件
⼆、插⼊⽂本或⾏(vi命令模式下使⽤,执⾏下⾯命令后将进⼊插⼊模式,按ESC键可退出插⼊模式)
a //在当前光标位置的右边添加⽂本
i //在当前光标位置的左边添加⽂本
A //在当前⾏的末尾位置添加⽂本
I //在当前⾏的开始处添加⽂本(⾮空字符的⾏⾸)
O //在当前⾏的上⾯新建⼀⾏
o //在当前⾏的下⾯新建⼀⾏
R //替换(覆盖)当前光标位置及后⾯的若⼲⽂本
J //合并光标所在⾏及下⼀⾏为⼀⾏(依然在命令模式)
三、移动光标(vi命令模式下使⽤)
1、使⽤上下左右⽅向键
2、命令模式下:h 向左、j 向下、k 向上、l 向右。
空格键向右、Backspace 向左、Enter 移动到下⼀⾏⾸、- 移动到上⼀⾏⾸。
四、删除、恢复字符或⾏(vi命令模式下使⽤)
x //删除当前字符
nx //删除从光标开始的n个字符
dd //删除当前⾏
ndd //向下删除当前⾏在内的n⾏
u //撤销上⼀步操作
U //撤销对当前⾏的所有操作
五、搜索(vi命令模式下使⽤)
/vpser //向光标下搜索vpser字符串
vpser //向光标上搜索vpser字符串
n //向下搜索前⼀个搜素动作
N //向上搜索前⼀个搜索动作
六、跳⾄指定⾏(vi命令模式下使⽤)
n+ //向下跳n⾏
n- //向上跳n⾏
nG //跳到⾏号为n的⾏
G //跳⾄⽂件的底部
七、设置⾏号(vi命令模式下使⽤)
:
set nu //显⽰⾏号
:set nonu //取消显⽰⾏号
⼋、复制、粘贴(vi命令模式下使⽤)
yy //将当前⾏复制到缓存区,也可以⽤ "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy //将当前⾏向下n⾏复制到缓冲区,也可以⽤ "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw //复制从光标开始到词尾的字符。
nyw //复制从光标开始的n个单词。
y^ //复制从光标到⾏⾸的内容。 VPS侦探
y$ //复制从光标到⾏尾的内容。
p //粘贴剪切板⾥的内容在光标后,如果使⽤了前⾯的⾃定义缓冲区,建议使⽤"ap 进⾏粘贴。
matlab函数递归调用计算阶乘
P //粘贴剪切板⾥的内容在光标前,如果使⽤了前⾯的⾃定义缓冲区,建议使⽤"aP 进⾏粘贴。
九、替换(vi命令模式下使⽤)
:s/old/new //⽤new替换⾏中⾸次出现的old
:s/old/new/g //⽤new替换⾏中所有的old
:n,m s/old/new/g //⽤new替换从n到m⾏⾥所有的old
:%s/old/new/g //⽤new替换当前⽂件⾥所有的old
⼗、编辑其他⽂件python入门教程编辑器
:e otherfilename //编辑⽂件名为otherfilename的⽂件。
⼗⼀、修改⽂件格式
:set fileformat=unix //将⽂件修改为unix格式,如win下⾯的⽂本⽂件在linux下会出现^M。
总结:vi(vim)教程虽然有⽐较多的命令,但是只要勤加练习,相信你会很快的熟练掌握,同时也会给你的⼯作或学习带来更⾼的效率。当如
果不知道⾃⼰处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒⼀点:注意⼤⼩写

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。