Linux下vi && vim

vi 下基本分为三种模式一般模式、命令行模式、编辑模式

vi一个文件后进入一般模式在该模式下可以移动光标、复制、粘贴、删除文件数据

一般模式下输入i,I,a,A,o,O,r,R进入编辑模式,可以编辑文本,按下[esc]退出编辑模式进入一般模式

一般模式输入:、/、?进入命令行模式,在命令行模式可以查找、保存、替换、退出等操作

三种模式

一般模式下

光标移动

键盘的上下左右移动光标,num+上下左右移动num行

[page up]:向上翻一页

[page down] :向下翻一页

0 或 home :光标移动到当前行第一个字符

$ 或 end: 光标移动到当前行最后一个字符

H:光标移动到当前页面的第一行

M:光标移动到当前页面的中间行

L:光标移动到当前页面的最后一行

G:光表移动到文本的最后一行

nG:光标移动到文本的第n行

gg:光标移动到文本的第一行

n[Enter]:光标向下移动n行

查找替换

/word:向下查找一个word的字符串

?word:向上查找一个word的字符串

n:重复之前的查找工作

N:与n相反,反向查找上一个需要查找的字符

:n1,n2s/word1/word2/g  :在n1行到年n2行之间使用将word1单词用word2单词替换

:1,$s/word1/word2/g :在第一行和最后一行使用word2替换word1

:1$s/word1/word2/gc:从第一行到最后一行使用word2替换word1,在每个单词替换前让用户确认

删除、复制、粘贴

x,X:x删除当前光标所指的字符,并且是向后移动光标删除的。X删除光标前一个字符,是向前删除的。

nx:向后删除n个字符

dd:删除当前行

ndd:删除光标向下n行

yy:复制光标所在的那一行

nyy:复制光标向下的n行

p,P:p在当前行的下一行粘贴,P在当前行的上一行粘贴

u:复原前一个操作

[Ctrl]+r:重做上一个操作

一般模式切换到编辑模式

进入插入模式

i,I:i从目前光标所在处插入,I为当前行第一个非空格字符处插入

a,A:从目前光标所在的下一字符插入,A从当前行最后一个字符出插入

o,O:o光标所在的下一行插入,O光标所在的上一行插入

进入替换模式

r,R:r只会替换光标所在的字符,R会一致替换直到按下[ESC]

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

:w  将编辑的数据写入到硬盘中(保存)

:w! 强制将编辑的数据写入到硬盘中去(若为只读模式)

:q 离开vi

:q! 曾经修改过,但不想存储,强制离开

:wq 保存并退出

:wq!  强制保存并退出

:w[filename] 将编辑的数据保存成另一个文件

:r[filename] 编辑数据时,将另一个文件中数据添加到光标所在行后面

:n1,n2 w [filename] 将n1到n2行中数据保存到filename文件中

:! command 暂时离开命令行模式执行command命令,之后回来

:set nu 显示行号

:set nonu 不显示行号

vim功能

vim文件恢复功能

当你编辑文件不正常切断的时候会在当前目录下创建一个.filename.swp的暂存文件,当你要在此打开这个文件的时候会提示你是否要恢复之前的操作。O为只读该文件,E是直接编辑,R是恢复之前的修改操作,D是认为这个文件没用删除这个暂存文件,Q是直接退出。操作完之后除了D,需要手动删除这个文件,否则每次会提示你。

vim是vi的高级版,一般vim已经把vi替换掉了。因为vim有颜色提示功能、还支持多种程序语法等。

vim的块选择

v:字符选择,光标移动过得地方会反白

V:行选择,光标移动过得行会反白

[Ctrl]+v:块选择,光标移动过得块会反白

y:将反白的地方复制下来

p:粘贴之前复制的

d:删除反白的地方

vim多文件编辑

vim file1 file2

首先进入file1中进行编辑,输入:n会进入下一文件进行编辑;:N会进入上一个文件编辑;:files会列出vim打开的文件

vim多窗口功能

当打开一个文件的时候,如果让该文件显示多个窗口

:sp 即可

如果多窗口打开不同的文件

:sp [filename]

上下窗口切换[ctrl] +w

vim使用历史记录

如果使用过vim,会在你的主目录下创建一个.viminfo文件,这个文件记录你之前做过的操作。

vim环境设置

在命令行模式下输入set all 可以查看所有vim的设置。可以通过set xx设置,比如 set nu设置显示行号。

这种方式只在当前有效,如果要长期有效需要修改 /etc/vimrc(ubuntu下是/etc/vim/vimrc)来设置我们习惯的vim操作环境,整体的vim设置在这里,但是一般不建议修改这个文件,可以修改 ~./.vimrc这个文件默认是不存在的,可以手动创建

比如:

vim ~/.vimrc

set nu                  "设置行号

set hlsearch            "高亮度反白

set autoindent          "自动缩排

set backspace=2         "可以随时用退格键删除

set ruler               "显示最下面提示

set bg=dark             "显示不同的底色色调

syntax on               "进行语法检查,颜色显示

乱码解决

终端显示乱码原因有很多,Linux支持语系、终端接口语系(用LANG设置)、原文见编码、打开终端的软件如GNOME等,这里有一个方法可以实时,如果文件是big5编码的

LANG=zh_CN.big5

然后终端->设置字符编码->中文(BIG5)

语系编码转换

可以使用iconv(需要下载iconv,然后到该目录下执行命令)然后使用iconv进行语系转换

iconv --list

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 20:08:18

Linux下vi && vim的相关文章

Linux下Vi/Vim使用笔记

Linux下Vi/Vim使用笔记 启动和关闭vim vi 打开 Vi/Vim 打开 Vi/Vim 并加载文件 <file> vi <file> ZQ 无条件退出 :q! 无条件退出 ZZ 存盘并退出 :wq 存盘并退出 vim编辑器的三种模式:一般模式.编辑模式和命令行模式在一般模式中可以进行删除.复制和粘贴的功能,但是无法编辑文件内容. 从一般模式切换到编辑模式可以按下i.I.o.O.a.A.r.R键. 注意区分当前是INSERT还是REPLACE模式! i: 插入,从目前光标所

Linux下 vi vim vim-gnome vim-tiny vim-gtk vim-nox的区别

http://blog.csdn.net/pipisorry/article/details/39508417 1.使用vim替换vi vim比vi强大多了,vim属于vi的超集,而且能够解决很多习惯的问题,所以还是有必要使用vim替换vi的.简单地话,可以直接使用"alias vi=vim"命令即可,不过这样只能在这次启动的时候有用,下次启动后,这条就无效了,如果想下次还能使用,那么就需要修改用户自启动配置文件.bashrc,具体的修改如下: sudo apt-get install

Linux 下 vi/vim 文本编辑器超详细使用指南

Linux下的编辑器最常用的就是vim或者vi文本编辑.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能. 大多数的linux/unix 发行版本中都使用 vim 代替了原来的 vi 文本编辑器. 如果是centos或者redhat系统,当系统安装完毕后,vi/vim 文本编辑器默认情况下就已经被安装了.如果是debian/ubuntu系统下,默认情况下,vim编辑器是不会被安装的.你需要在ubuntu系统下手动安装vim编辑. 更多关于vim

linux 下vi /vim 中文汉字乱码解决

http://my.oschina.net/laserdance/blog/53474很多win下编译的配置文件(译码格式有utf8/gbk)上传到linux服务器上时打开汉字乱码 解决方法如下: 修改vi环境配置 vi /etc/virc 任意地方增加一行 set fileencodings=utf-8,gbk,ucs-bom,cp936 保存 然后退出连接重新连接即可 更多文章里链接: vi/vim 中文乱码 vim终端下中文乱码问题 CSDN - 解决vi中文乱码问题

linux下使用vim替换文件中的^M换行符

在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题.最常见的就是出现^M . 我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开,内容没有换行.也就是所有文件内容都在一行.然后再实际换行的位置多了个^M. 下面的方法是网上搜的.其中dos2unix还有一个相对应的unix2dos 1.使用dos2unix命令.一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便: $ dos2unix myf

windows下vi/vim编辑器的基本操作

windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准备(下载gvim) 废话 :因为我们的目的是学习vi/vim操作,所以不必强调使用linux系统下的vi/vim,这里使用的是windows版的gvim(gvim是vi/vim的gui加强版). 网盘下载 :http://pan.baidu.com/s/1hqfAch2 官网下载 :http://w

【转】Linux上vi(vim)编辑器使用教程

Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------------------------------------------------------- vi(vim)是上Linux 非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是 “visual interface”

Linux下使用vim编辑c程序

这几天在系统能力班自学linux,加上最近大数据课上开始使用linux,我在这里总结一下,linux下使用vim编辑c语音程序的一些问题. 大数据课上是直接使用micro来编辑的,我这里只是简单的说明一下vim的一些基本使用方法,毕竟我也是刚开始接触. 主要内容来自系统能力班老师们准备的资料,图片是我自己实验的截图. 1 vi/vim使用 1.1 vi/vim简介 vi/vim是Linux.Unix字符界面下常用的编辑工具,也是系统管理员常用的一种编辑工具.很多Linux发行版都默认安装了vi/

Linux系统 vi/vim文本编辑器

Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件.vim或者vi文本编辑是Linux下最常用的编辑器.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能. 大多数的linux/unix 发行版本中都使用