当前位置: 澳门新濠3559 > 操作系统 > 正文

      编辑指定的文件,4.会话信息中保存了所有

时间:2019-11-09 19:30来源:操作系统
1. vim -u filename VIM是什么? Vim是从VI发展出来的一个文本编辑器,拥有许多丰富的功能,便于编程开发,在程序员中被广泛使用,是类Unix系统用户最喜欢的功能强大的跨平台文本文件编辑工

1.vim -u filename

VIM是什么?

Vim是从VI发展出来的一个文本编辑器,拥有许多丰富的功能,便于编程开发,在程序员中被广泛使用,是类Unix系统用户最喜欢的功能强大的跨平台文本文件编辑工具。

我是一位新的 Vim 编辑器用户。我通常使用 :vs ~/.vimrc来加载 ~/.vimrc配置。而当我编辑 .vimrc 时,我需要不重启 Vim 会话而重新加载它。在 Linux 或者类 Unix 系统中,如何在编辑 .vimrc 后,重新加载它而不用重启 Vim 呢?

Linux下使用vim命令编辑与修改文本内容

图片 1

输入 vim --help

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jul 26 2017 20:13:43)

用法: vim [参数] [文件 ..]      编辑指定的文件
  或: vim [参数] -              从标准输入(stdin)读取文本
      编辑指定的文件,4.会话信息中保存了所有窗口的视图。  或: vim [参数] -t tag          编辑 tag 定义处的文件
  或: vim [参数] -q [errorfile]  编辑第一个出错处的文件

参数:
  --   在这以后只有文件名
  -v   Vi 模式 (同 "vi")
  -e   Ex 模式 (同 "ex")
  -E   Improved Ex mode
  -s   安静(批处理)模式 (只能与 "ex" 一起使用)
  -d   Diff 模式 (同 "vimdiff")
  -y   容易模式 (同 "evim",无模式)
  -R   只读模式 (同 "view")
  -Z   限制模式 (同 "rvim")
  -m   不可修改(写入文件)
  -M   文本不可修改
  -b   二进制模式
  -l   Lisp 模式
  -C   兼容传统的 Vi: 'compatible'
  -N   不完全兼容传统的 Vi: 'nocompatible'
  -V[N][fname]  Be verbose [level N] [log messages to fname]
  -D   调试模式
  -n   不使用交换文件,只使用内存
  -r   列出交换文件并退出
  -r (跟文件名)  恢复崩溃的会话
  -L   同 -r
  -A   以 Arabic 模式启动
  -H   以 Hebrew 模式启动
  -F   以 Farsi 模式启动
  -T <terminal> 设定终端类型为 <terminal>
  --not-a-term  Skip warning for input/output not being a terminal
  --ttyfail  Exit if input or output is not a terminal
  -u <vimrc>  使用 <vimrc> 替代任何 .vimrc
  --noplugin  不加载 plugin 脚本
  -P[N]  打开 N 个标签页 (默认值: 每个文件一个)
  -o[N]  打开 N 个窗口 (默认值: 每个文件一个)
  -O[N]  同 -o 但垂直分割
  +   启动后跳到文件末尾
  +<lnum>  启动后跳到第 <lnum> 行
  --cmd <command> 加载任何 vimrc 文件前执行 <command>
  -c <command>  加载第一个文件后执行 <command>
  -S <session>  加载第一个文件后执行文件 <session>
  -s <scriptin> 从文件 <scriptin> 读入正常模式的命令
  -w <scriptout> 将所有输入的命令追加到文件 <scriptout>
  -W <scriptout> 将所有输入的命令写入到文件 <scriptout>
  -x   编辑加密的文件
  --startuptime <file> Write startup timing messages to <file>
  -i <viminfo>  使用 <viminfo> 取代 .viminfo
  -h  或  --help 打印帮助(本信息)并退出
  --version  打印版本信息并退出

  1. 什么是 vim?

Vim 是从 vi 发展出来的一个文本编辑器。宏、跳转、代码补全、编译及错误跳转等方便纯文本编辑和编程的功能特别丰富,也支持使用不少的脚本语言进行功能定制和扩充,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

  1. 检查系统中是否安装了vim?

vim --version

如果出现vim版本和运行情况,说明已经存在vim程序。否说明没有安装vim程序,参考vim 安装文档进行安装。如下图:

图片 2

3.使用vim命令创建或打开文件,编辑文件

< 1 >. 如果存在vimLinuxidc.txt文件,则打开文件,如果不则则在内存中创建一个vimLinuxidc.txt文件,没有进行保存文件是不存在的

vim vimLinuxidc.txt

< 2 >.在文件中编辑文本,按下 i 进入编辑,此时在窗体最底部会出现 -- 插入 --

 图片 3

< 3 >.使用键盘输入编辑文字

图片 4 

< 4. > 输入完毕后,完成输入,退出输入,按 ESC ,这个时候会发现底部的 -- 插入 --没有了

 图片 5

< 5. > 保存编辑的文件,并且退出vim编辑 输入 :wq 命令,按回车键

图片 6 

< 6. > 查看创建的新文件 输入ll

图片 7 

< 7. > 使用vim命令打开 vimLinuxidc.txt 文件查看文件内容

图片 8 

< 8. > 没有进行修改,不需要保存直接退出 ,输入 :q 命令

图片 9

4.常用命令备注

保存,不退出vi ---------------------------------------------  :w

强制保存,不退出vi ---------------------------------------  :w!

将修改另外保存到file中,但不退出vi(不常用)------  :w file

保存,并退出vi ---------------------------------------------  :wq  或  :x

强制保存,并退出vi ---------------------------------------  :wq!

不保存,并退出vi ------------------------------------------  :q

不保存,并强制退出vi ------------------------------------  :q!

放弃所有修改,从上次保存文件开始再编辑 -----------  :e!

本文永久更新链接地址:

输入 vim --help VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jul 26 2017 20:13:43) 用法: vim [参数] [文件 ..] 编辑指定的...

会使用指定的filename配置文件启动vim

为什么要用VIM?

vi编辑器是所有类UNIX系统下标准的编辑器,他是我们使用Linux系统不能缺少的工具。对于所有类UNIX系统的任何版本,vi编辑器是完全相同的。而vim是从VI发展出来的一个文本编辑器,拥有更强大的功能,比如:VIM可以用多种颜色的方式来显示一些特殊的信息,会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息,目前大部分的Linux发行版本都以vim取代了vi。vim还加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。

Vim 是自由开源并且向上兼容 Vi 的编辑器。它可以用来编辑各种文本。它在编辑用 C/Perl/Python 编写的程序时特别有用。可以用它来编辑 Linux/Unix 配置文件。 ~/.vimrc 是你个人的 Vim 初始化和自定义文件。

2.vim -u NONE

VIM的使用方法

vim [OPTION...] FILE...

vim +# file: 打开文件后,直接让光标处于第# 行的行首
vim +/ PATTERN file:打开文件后,直接让光标处于第一个被PATTERN 匹配到的行的行首
vim –b file 二进制方式打开文件
vim –d file1 file2… 比较多个文件
vim -m file 只读打开文件
ex file 或 或 vim –e 直接进入ex 模式

vim打开文件分两种情况:
如果该文件存在,文件被打开并显示内容,如果该文件不存在,当编辑后第一次存盘时创建它(如果该文件不存在且父目录也不存在则会报错且无法创建,这时可以把文件另存为其他路径下)
VIM的操作模式
Vim编辑程序有三种操作模式,分别称为 一般模式、编辑模式和命令模式,当运行Vim时,默认会进入一般模式(每个发行版叫法可能会有不同)。
一般模式:
用vim打开文件,会默认使用一般模式。在一般模式中,可以使用移动光标,复制、粘贴、删除字符等操作处理文件内容。
一般模式的操作说明:
移动光标

按键 含义
h / ← 光标向右移动一个字符
k / ↑ 光标向上移动一个字符
j / ↓ 光标向下移动一个字符
l / → 光标向左移动一个字符
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n+Space 光标向右移动n个字符(n表示数字)
n+Enter 光标向下移动n行
0 / Home 移动到这一行的最前面字符处,数字小键盘上的数字0无效
$ / End 移动到这一行的最后面字符处
w 光标跳到下个字的开头
e 光标跳到下个字的字尾
b 光标跳到上个字的开头
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中间那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个文件的最后一行
nG 移动到这个文件的第n行(可使用:set nu配合显示行号)
gg 移动到这个文件的第一行,相当于1G

查找与替换

按键 含义
/word 向光标向下寻找一个名称为word的字符串
?word 向光标向上寻找一个名称为word的字符串
n 代表重复前一个查找的动作
N 为反向进行前一个查找动作

删除、复制与粘贴

按键 含义
x / del 为向后删除一个字符
X / backspace 为向前删除一个字符
nx 连续向后删除n个字符
dd 删除光标所在一整行
ndd 删除光标所在的向下n行
yy 复制光标所在的那一行
nyy 复制光标所在的向下n列
Y 相当于yy复制光标所在的那一行
p 将已复制的数据粘贴在光标下一行
P 将已复制的数据粘贴在光标上一行
J 将光标所在行与下一行合成一行
c 重复删除多个数据

删除复制粘贴等操作可以配合移动光标操作使用。
常用组合操作

按键 含义
10cj 向下删除10行
10ck 向上删除10行
10ch 向左删除10行
10cl 向右删除10行
d1G 删除光标所在行到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除光标所在处,到该行的最后一个字符
d0 删除光标所在处,到该行的最前一个字符
yy 复制光标所在的那一行
nyy 复制光标所在的向下n列
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据

其他

按键 含义
u 恢复前一个操作
nu 恢复前几个操作(n是数字)
U 撤销光标所在行的更改(光标不能换行)
Ctrl+r 重做上一个操作
ctrl+b / PageDown 屏幕往下移动一页
ctrl+f / PageUp 屏幕往上移动一页
ctrl+d 屏幕向下移动半页
ctrl+u 屏幕向上移动半页
. 是重复前一个操作
n. 重复前一个操作n次(n是数字)
ZZ 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开

编辑模式:
编辑模式指可以使用修改、删除、添加文件内容。在一般模式中按下i, I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式。在编辑模式下按下Esc即可退出编辑模式,回到一般模式。

按键 含义
i 为从目前光标所在处插入
I 为在目前所在行的第一个非空格符处开始插入
a 为从目前光标所在的下一个字符处开始插入
A 为从光标所在行的最后一个字符处开始插入
o 为在目前光标所在的下一行处插入新的一行
O 为在目前光标所在处的上一行插入新的一行
r 只会取代光标所在的那一个字符一次
R 会一直取代光标所在的文字,直到按下 ESC 为止

命令行模式:
命令行模式可以使用查找、读取、保存、替换字符、退出、显示行号等操作。
输入 : / ? 三个中的任何一个字符即可进入命令行模式。同样在命令模式下按Esc也可退出当前模式,回到一般模式。

扩展命令 含义
:w 保存编辑的内容
:w! 强制写入该文件,但跟你对该文件的权限有关
:q 离开vi
:q! 不想保存修改强制离开
:wq 保存后离开
:x 保存后离开
:w filename 将编辑的数据保存成另一个文件(类似另存)
:r filename2 在编辑的数据中,读入另一个文件的数据,即将filename2 这个文件的内容追加到光标所在行后面。
:n1,n2 w filename 将n1到n2的内容保存成filename这个文件。
:! command (临时离开vi,执行command,执行完成即返回)
:n1,n2s/word1/word2/g (n1与n2为数字,在第n1与n2行之间查找word1这个字符串,并将该字符串替换为word2)
:1,$s/word1/word2/g (从第一行到最后一行查找word1字符串,并将该字符串替换为word2)
:1,$s/word1/word2/gc (从第一行到最后一行查找word1字符串,并将该字符串替换为word2 ,且在替换前提示用户确认是否进行替换)

如何在不重启 Vim 会话的情况下重新加载 .vimrc

不使用任何配置文件启动vim

VIM编辑器的其他功能

块选择

按键 含义
v 字符选择,会将光标经过的地方反白选择
V 行选择,会将光标经过的行反白选择
ctrl+v 块选择,可以用长方形的方式选择资料(提制竖列)
y 将反白的地方复制
d 将反白的地方删除

多文件编辑
大家在使用vim的时候,可能会碰到你需要复制一个文件中的某段到另外一个文件中,而vim不能够在关闭的时候,把这段保留住。或者是用其它的方法复制。
vim FILE1 FILE2 FILE3 ...

按键 含义
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个vim编辑的所有文件
:next 下一个
:prev 前一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall 退出所有
:wqall 保存并退出所有

多窗口功能
多窗口模式可以把屏幕分割成若干个小窗口,每个窗口可单独打开文件或者一个文件的不同片段。
:sp filename开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新文件,否则表示两个窗口为同一个文件内容(同步显示)。
ctrl+w+j&ctrl+w+↓:按键的按法是:先按ctrl不放,再依次按下w、方向键,则光标可移动到下方的窗口。
ctrl+w+k&ctrl+w+↑:同上,不过光标移动到上面的窗口。
ctrl+w+q:结束离开

vim的环境设定
VIM不仅仅功能强大,而且VIM还支持修改环境设定自定义,也可以在命令行模式下进行设定,永久环境设定可以在vim的环境配置文件~/.vimrc里修改。
vim的记录会主动把用户曾经做过的行为记录下来在~/.viminfo

扩展命令 含义
:set all (显示目前所有的环境参数设置值)
:set nu / :set nonu (设置和取消行号)
:set hlsearch / :set nohlsearch (设置和取消高亮查找)
:set autoindent / :set noautoindent (设置和取消自动排版)
:set backup / :set nobackup (设置和取消自动保存备份)
:syntax on / :syntax off (是否开启依据相关程序语法显示不同的颜色)
:set ruler 开启右下角状态栏说明
:set showmode 显示左下角的INSERT之类的状态栏
:set 显示与系统默认值不同的参数值
:set bg=dark/light 是否显示不同的颜色色调
:set backspace={0,1,2} 设置退格键功能,为2时可以删任意字符。为0或1时仅可以删除刚才输入的字符。

在 Vim 中重新加载 .vimrc 而不重新启动的流程:

3.恢复上次编辑环境,需要保存会话(session)信息,和viminfo信息

VIM操作图示

最后,我收集了几张不错的图,分享出来帮助大家更快的来掌握vi/vim。

图片 10

VIM键盘图

图片 11

按键示意图

图片 12

常用操作图

  1. 输入 vim filename 启动 vim
  2. 按下 Esc 接着输入 :vs ~/.vimrc 来加载 vim 配置
  3. 像这样添加自定义配置:

4.会话信息中保存了所有窗口的视图,外加全局设置

filetype indent plugin on set number syntax on

5.viminfo信息中保存了命令行历史(history)、搜索字符串历史(search)、输入行历史、非空的寄存器内容(register)、文件的位置标记(mark)、最近搜索/替换的模式、缓冲区列表、全局变量等信息

  1. 使用 `:wq`  保存文件,并从 `~/.vimrc` 窗口退出
  2. 输入下面任一命令重载  `~/.vimrc`:`:so $MYVIMRC` 或者 `:source ~/.vimrc`。

6.在vim中使用命令

[![How to reload .vimrc file without restarting vim][1]][1]

:mksession[file]创建一个会话文件

*图1:编辑 ~/.vimrc 并在需要时重载它而不用退出 vim,这样你就可以继续编辑程序了*

:wviminfo[file]创建一个viminfo文件

`:so[urce]! {file}` 这个 vim 命令会从给定的文件比如  `~/.vimrc` 读取配置。就像你输入的一样,这些命令是在普通模式下执行的。当你在  `:global`、:`argdo`、 `:windo`、`:bufdo` 之后、循环中或者跟着另一个命令时,显示不会再在执行命令时更新。

7.配置.vimrc

### 如何设置按键来编辑并重载 ~/.vimrc

在.vimrc中,双引号开头的行,将被当作注释忽略

在你的  `~/.vimrc` 后面跟上这些:

1    "Set mapleader
2    let mapleader = ","
第2行,用来设置mapleader变量,当mapleader为未设置或为空时,使用缺省的""来作为mapleader。

3 map <silent> <leader>ss :source ~/.vimrc<cr>
第3行定义了一个映射(map),这个映射把<leader>ss,映射为命令:source ~/.vimrc<cr>。当定义一个映射时,可以使用<leader>前缀。而在映射生效时,vim会把<leader>替换成mapleader变量的值。也就是说,我们这里定义的<leader>ss在使用时就变成了",ss",当输入这一快捷方式时,就会source一次~/.vimrc文件(也就是重新执行一遍.vimrc文件)。

8 "When .vimrc is edited, reload it 
9 autocmd! bufwritepost .vimrc source ~/.vimrc
第9行,定义了一个自动命令,每次写入.vimrc后,都会执行这个自动命令,source一次~/.vimrc文件。

" Edit vimr configuration file nnoremap confe :e $MYVIMRC " Reload vims configuration file nnoremap confr :source $MYVIMRC

 

现在只要按下  `Esc` 接着输入 `confe` 就可以编辑 `~/.vimrc`。按下 `Esc` ,接着输入 `confr` 以重新加载。一些人喜欢在 `.vimrc` 中使用 `<Leader>` 键。因此上面的映射变成:

 

" Edit vimr configuration file nnoremap ve :e $MYVIMRC " Reload vimr configuration file nnoremap vr :source $MYVIMRC

<Leader>` 键默认映射成  `` 键。因此只要输入 `` 接着 `ve` 就能编辑文件。按下 `` 接着 `vr` 就能重载 `~/vimrc`。

这就完成了,你可以不用再重启 Vim 就能重新加载 `.vimrc` 了。

### 关于作者

作者是 nixCraft 的创建者,经验丰富的系统管理员,也是 Linux / Unix shell 脚本的培训师。他曾与全球客户以及IT、教育、国防和太空研究以及非营利部门等多个行业合作。在 [Twitter][9]、[Facebook][10]、[Google +][11] 上关注他。通过[RSS/XML 订阅][5]获取最新的系统管理、Linux/Unix 以及开源主题教程。


via:

作者:[Vivek Gite][a]
译者:[geekpi]()
校对:[wxy]()

本文由 [LCTT]() 原创编译,[Linux中国]() 荣誉推出

[a]:
[1]:
[2]:
[3]:
[4]:
[5]:

总结

以上所述是小编给大家介绍的在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

  • Linux中利用Vim对文件进行密码保护的方法详解
  • 解决linux下vim中文乱码的方法
  • Linux vim编辑命令模式
  • linux 中vim的用法讲解
  • linux系统中使用Vim删除偶数行或者奇数行
  • vim配置显示行号和语法高亮 即.vimrc文件的配置

编辑:操作系统 本文来源:      编辑指定的文件,4.会话信息中保存了所有

关键词: