linux--vim

下面是最近学习vim的一些知识点总结

***博客园--邦邦酱好***

1.介绍
  linux在文字接口下的文书编辑器有:emacs,pico,nano,joe与vim等。
  为何要学vim(vim是vi的进阶版本)
  (1)几乎所有的系统都会内建vi,其他的编辑器不一定存在
  (2)很多个别软件的编辑器接口都会主动呼叫vi
  (3)vim具有程序编辑的能力,主动以字体颜色辨别语法的正确性
  (4)程序简单,编辑速度相当快速
  (vi模式下编辑窗口右下角不会显示行号。)

2.vi共分为三种模式:一般模式,编辑模式,指令列命令模式
  (1)vi打开文档,直接进入一般模式。
    在这个模式中你可以使用【上下左右】按键来移动光标,可以使用【删除字符】或者【删除整行】来处理文档内容,也可以使用【复制粘贴】来处理你的文件数据。
  (2)按下【i,I,o,O,a,A,r,R】后才从一般模式进入编辑模式。要回到一般模式时,必须按下【Esc】键才可退出编辑模式。
  (3)按下【:/?】三个中的任何一个按钮,就可以将光标移动到最底下那一行,这时从一般模式进入指令列命令模式(编辑模式和指令列模式之间不可切换)。它可提供你搜寻资料,读取,存盘,取代字符,离开vi,显示行号等动作。

3.一般模式下移动光标的方法
  (1)h或向左箭头键:向左移动一个字符
  (2)j或向下箭头键:向下移动一个字符
  (3)k或向上箭头键:向上移动一个字符
  (4)l或向右箭头键:向右移动一个字符
  (5)向*移动N行:输入N,再按下对应的动作
  (6)ctrl+f:向下移动一页
  (7)ctrl+b:向上移动一页
  (8)ctrl+d:向下移动半页
  (9)ctrl+u:向上移动半页
  (10)N<space>:输入N,再按space空格键,光标会向右移动N个字符
  (11)0或者home键:移动到这一行的最前面字符处
  (12)$或End键:移动到这一行的最后面字符处

4.一般模式下搜索与取代的方法
  (1)/word:在当前光标向下搜索,word是想要搜索的字符串,输入/word后,按下enter键即可。
  (2)?word:在当前光标向上搜索,word是想要搜索的字符串,输入?word后,按下enter键即可。
  (3):n1,n2s/word1/word2/g:在第n1和n2行之间寻找word1这个字符串,并取代为word2
  (4):1,$ss/word1/word2/g:在第1行开始到最后一行寻找word1这个字符串,并取代为word2
  (5):1,$ss/word1/word2/gc:在第1行开始到最后一行寻找word1这个字符串,并取代为word2,并在取代前给予用户确认

5.一般模式下的删除,复制与粘贴
  (1)x,X:在一行字中,x向后删除一个字符;X为向前删除一个字符
  (2)Nx:向后连续删除N个字符
  (3)dd:删除光标所在的那一整行
  (4)Ndd:删除光标所在的向下N行
  (5)d1G:删除光标所在到第一行的所有数据
  (6)dG:删除光标所在到最后一行的所有数据
  (7)d0:删除光标到该行最前面的一个字符
  (8)d$:删除光标到该行最后的一个字符
  (9)yy:复制光标所在的那一行
  (10)Nyy:复制光标所在的向下N行
  (11)y1G:复制光标所在到第一行的所有数据
  (12)yG:复制光标所在到最后一行的所有数据
  (13)y0:复制光标所在字符到该行行首的所有数据
  (14)y$:复制光标所在字符到该行行尾的所有数据
  (15)p,P:p为把复制的数据在光标的下一行进行粘贴;P为把复制的数据在光标的上一行进行粘贴
  (16)u:复原上一个动作
  (17)ctrl+r:重做上一个动作
  (18).:小数点,代表重复前一个动作

6.编辑模式下可用的按键
  (1)i,I:进入插入模式。i为从当前光标处插入;I为在当前所在行的第一个非空格符处开始插入。
  (2)a,A:进入插入模式。a为从当前光标所在的下一个字符处开始插入;A为在当前所在行的最后一个字符处开始插入。
  (3)o,O:进入插入模式。o为从当前光标所在的下一行插入新的一行;O为在当前所在行的上一行插入新的一行。
  (2)r,R:进入插入模式。r只取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下ESC键为止

7.指令列模式下可用的按键
  (1):w:将编辑的数据写入文档
  (2):w!:若文件属性为【只读】时,强制将编辑的数据写入文档。最后能否写入跟系统账户权限有关。
  (3):q:离开vi
  (4):q!:若修改过文档,不想保存,使用!为强制离开并且不存储文档
  (5)ZZ:若文档没修改,则离开;若文档有修改,则保存后离开
  (6):w[filename]:将编辑的数据存储成另一个文档
  (7):r[filename]:将另一个文档的数据追加到光标当前所在的位置后面
  (8):n1,n2 w [filename]:将第n1到n2行的数据存储成另一个文档
  (9):!command:暂时离开vi到指令列模式下执行command的结果
  (10):set nu:显示行号
  (11):set nonu:取消显示行号

8.vim的暂存档,救援恢复与开启时的警告信息
  (1)介绍
    当我们使用vim编辑filename文档时,vim会在filename的当前目录下再建立一个名为.filename.swp的暂存档。你对filename的动作都会记录到这个暂存档中。如果系统由于某些原因断线了,导致编辑的文档没有存储,这时候.filename.swp就能发挥救援恢复功能了。
  (2)模拟系统断线
    打开文档进行编辑后,在vim的一般模式下,按下ctrl+z键,vim就会被丢到背景去执行。接下来直接关闭终端面板。这就等于系统断线,刚刚对文档的操作没有被保存到。
  (3)开启时的警告信息
    在系统断线后,再次打开该文档vim filename,就会出现警告信息
      问题一:可能与其他人同时编辑这个档案-->找到另一个人请他结束对文档的操作。或者选择开启只读(O)模式
      问题二:系统不知名原因导致vim中断-->如果之前的vim动作没有保存,可以按下R(ecover),这时vim会载入.filename.swp的内容来恢复文档。
    注意:恢复文档后,.filename.swp不会自动删除,记得要手动删除它,否则每次打开filename都会有警告信息。

9.区块选择
  (1)按键
    v:字符选择,会将光标经过的地方反白选择
    V:行选择,会将光标经过的行反白选择
    ctrl+v:区块选择,可以用长方形的方向选择资料
    y:将反白的地方复制
    d:将反白的地方删除掉
  (2)应用
    第一步:进入文档,光标移动到某处,在一般模式下按下ctrl+v键,这时按下左右上下键进行区块选择
    第二步:按下y键进行复制,这时反白的区块会消失
    第三步:移动光标到想要粘贴的地方,在一般模式下按下p键进行粘贴操作

10.多文档编辑
  (1)难题:每个vim是独立的,无法在vim1的文档A中进行nyy操作,再去vim2的文档B中进行p操作。
  (2)解决:使用指令在一个vim下同时打开多个文档进行编辑-->vim file1 file2
  (3)按键(一般模式下使用):
    :n:编辑下一个文档
    :N:编辑上一个文档
    :files:列出目前这个vim开启的所有文档

11.多窗口功能
  (1)难题:有一个文档很大,需要对比前后的数据,如果使用下一页ctrl+f,上一页ctrl+b来跑前跑后查阅会非常不方便。
  (2)解决:在同一个vim中生成多个窗口
    第一步:打开一个文档vim file1,在一般模式下输入“:sp”,就会生成另一个窗口,显示的文档也是file1
    第二步:还可以在一般模式下输入“:sp file2”,就会生成另一个窗口,显示的文档也是file2
    第三步:可以使用ctrl+w+下上箭头键(jk键)在多个窗口之间切换

12.环境预设
  (1)介绍:整体vim的设定值是放置在/etc/vimrc中,不过不建议修改它。但是可以修改~/.vimrc这个文档,如果它不存在,可以新建它,再写入想要的预设值。
  (2)常用的预设值:(可以在一般模式下输入:set all来查阅)
    set nu -->显示行号(不显示是set nonu)
    set hlsearch -->高亮度搜索(不显示是set nohlsearch)
    set aotoindent -->自动缩排(不显示是set noaotoindent)
    set ruler -->显示右下角的状态栏
    set showmode -->显示左下角的状态栏
    syntax on -->依据程序相关语法显示不同颜色(不显示是syntax off)
  (在~/.vimrc中批注信息使用双引号开头:"批注:这里是显示行号)

13.中文编码的乱码问题
  一.中文编码有big5和utf8两种,如果出现乱码,要考虑:
    (1)你的linux系统默认支持的语系数据:这与/etc/sysconfig/i18n有关
    (2)你的终端界面bash的语系:这与LANG这个参数有关
    (3)你的文档原本的编码
    (4)开启终端机的软件,比如GNOME下的窗口接口
  最重要的是第三四点,只要这两点一致,基本不会有乱码。
  二.转换文档的编码
    iconv --list  -->列出iconv命令支持的语系
    iconv -f 原本编码 -t 新编码 filename [-o newfile]  (from A to B)
  查看文档的编码类型:file filename

时间: 2024-11-11 03:50:51

linux--vim的相关文章

linux vim编辑

常用vim操作自我总结,大神请回避: vim 打开退出保存 打开:直接打开 vim practice_1.txt也可以先打开vim,后:e 文件路径 保存::w 文件名或者退出保存:wq! 普通模式下退出vim:Shift+zz vim 移动和进入插入模式 移动:w下一个单词b上一个单词 进入插入模式命令 说明i 在当前光标处进行编辑I 在行首插入A 在行末插入a 在光标后插入编辑o 在当前行后插入一个新行O 在当前行前插入一个新行cw 替换从光标所在位置后到一个单词结尾的字符 vim 选择模式

Linux - vim安装 配置与使用

一 Vim 简介 以前一直用vi,最近开始使用 vim,下面将两者做一下比较. vi和vim都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消 在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消.2.易用性 vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台.3.语法加亮 vim可以用不同的颜色来加亮你的代码.4.可视化操作 就是说v

[Linux: vim]vim自动生成html代码

如果直接将vim编辑的文字复制粘贴到一些blog的编辑器中,这些代码将会是死板的白纸黑字.如果能加入关键字高亮功能就好了,这样代码阅读起来会很方便.一些blog的编辑器提供了这项功能,一些没有,一些支持的语言不够全面.好在vim的syntax支持的语言够多,绝大部分流行的语言都可以直接找到支持.如果能将vim显示的代码直接转换成为html就好多了,这样很多支持HTML编辑的blog就可以直接使用格式化好的代码. 使用vim将代码转换为html有两种方式,TOhtml和syntax/2html.v

linux VIM基本命令

linux VIM命令: vim 在命令行中输入vim,进入vim编辑器 Esc 退出i(插入)命令进行其他命令使用 :sh 进入shell命令行,运行完命令后ctrl+d退出又一次进入vim编辑继续编辑在shell命令下, 运行ctral+l完毕清屏 :set number或者:set nu 使编辑中的文件显示行号 :set nonumber或者:set nonu 与上一条命令相反,不显示行号 :help i 查看插入命令帮助 /Fedora 查找Fedora字符 :s /Fedora/Red

linux vim 退出相关命令

困扰无数人的Linux Vim退出方法,原来这么简单? Vim作为使用最广泛的文本编辑器之一,在编程的世界中,一直流传着一个关于它的神秘问题,知道答案的人寥寥无几,却又难以启齿,那就是:怎么退出Vim # 点击Esc键进入"普通模式".然后,您可以键入:以进入"命令行模式".冒号(:)将出现在屏幕底部,您可以键入以下命令之一.要执行命令,请Enter按键. · :q # 退出(的缩写:quit) · :q! # 不保存即退出(的缩写:quit!) · :wq # 写

Linux Vim中自动补全Python插件:Pydiction

Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件. Pydiction不需要安装,所有没有任何依赖包问题,Pydiction主要包含三个文件. python_pydiction.vim  -- Vim plugin that autocompletes Python code. complete-dict         -- Dictionary file of Python keywords, modules, etc. pydiction.p

Linux Vim,Find使用方法以及磁盘与文件系统管理

1.总结文本编辑工具vim的使用方法: 全屏幕的编辑器:VIM vi: visual interface sed:行编辑器 vi, vi iMproved vim: 模式化: 编辑模式:命令模式 输入模式: 末行模式: 编辑模式 --> 输入模式: i: insert, a:append, o:new line, I: 行首 A:行尾 O:上方新建行 输入模式 --> 编辑模式: ESC 编辑模式 --> 末行模式: : 末行模式 --> 编辑模式 ESC 打开vim: # vim

linux vim,vi编辑器的基础

在之前我也不知道为什么要学vim和vi编辑器,只是听过别人说这个对与linux很重要. 先说一下为什么要学习这个编辑器,个人的看书理解. 系统管理员的重要工作就是参与与设置某些重要软件的配置文件,因此要至少学会一种以上的命令行界面的文本编辑器.在所有的linux distributions上头都会有的一套文本编辑器就是vi,而且很多软件默认也是使用vi作为它们编辑的界面.vim就是高级版的vi,vi是老式的文字处理器,vim不但可以用不同的颜色显示文字的内容,还能够进行诸如shell脚本,c等程

linux &nbsp; vim编辑器总结

vim编辑器总结 目录 一 vi/vim 使用... 2 1. vi/vim 工作模式... 2 1.1 打开文件... 2 2 普通模式... 2 2.1 读文件... 2 3 编辑模式... 3 4 末行模式... 4 5 vim中的查找和替换命令... 4 6 vim环境设置... 5 7 高级功能... 6 8 打开多个文件... 7 9 文件恢复功能... 7 10 vim多行注释... 8 一 vi/vim 使用 vi/vim 工作模式 vim 的三种工作模式 普通模式 编辑模式 末

马哥2016全新Linux+Python高端运维班-Linux vim 末行模式,sed命令,基本bash脚本

本周作业内容: 1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#:%[email protected]^[[:space:]]\[email protected]#&@g384 substitutions on 384 lines#vim末行模式下%:表示全文相当于1,$s: 在末行模式下完成查找替换操作    s/要查找的内容/替换为的内容/修饰符    要查找的内容:可使用模式        替换