Vim User Manual 阅读笔记 usr_21.txt Go away and come back 跳转去跳转回来

|21.1| Suspend and resume

Ctrl-Z 或者 :suspand 命令挂起 vim 回到shell

GUI 下最小化 vim

回到vim,用 fg

|21.2| Executing shell commands

To execute a single shell command from Vim use ":!{command}"

:!{program} execute {program}

:r !{program} execute {program} and read its output

:w !{program} execute {program} and send text to its input

:[range]!{program} filter text through {program}

使用 :shell 新起一个shell

|21.3| Remembering information; viminfo 保存了

Command-line and Search pattern history

Text in registers

Marks for various files

The buffer list

Global variables

各种设置的限制,保存在 set viminfo 中

GETTING BACK TO WHERE YOU STOPPED VIM

退出之后,重新进入回到上一次工作位置

`0 回到那一行,那一列

'0 回到那一行行首

这些若干位置,倒排序依次为 `0 `1 `2 `3

也可以用 :marks 查看。实际上都是marks

GETTING BACK TO SOME FILE 回到某个文件

方法一: :oldfiles ,观察文件编号,然后用 :e #<2 或者 :split #<3 进行编辑

方法二: :browse oldfiles 输入需要查看的文件编号Enter

MOVE INFO FROM ONE VIM TO ANOTHER

保存和读取寄存器内容,可以实现跨instance 互通。use the ":wviminfo" and ":rviminfo" commands to save and restore theinformation while still running Vim. This is useful for exchanging registercontents between two instances of Vim

也可以用来为不同目的 purpose 设置不同viminfo,进行保存和读取

:wviminfo! ~/tmp/viminfo 此处 ! 表示强制覆盖

:rviminfo! ~/tmp/viminfo 此处 ! 表示 全部读取,如果不用感叹号,则仅采用未 set

|21.4| Sessions

创建 Create Session

:mksession vimbook.vim

restore session

:source vimbook.vim

start Vim and restore a specific session 启动Vim并打开特定Session。 The 'S' stands for

session

vim -S vimbook.vim

'sessionoptions' option 中的一些设置

blank keep empty windows

buffers all buffers, not only the ones in a window

curdir the current directory

folds folds, also manually created ones

help the help window

options all options and mappings

tabpages all tab pages

winsize window sizes

terminal include terminal windows

:wall "保存所有改写过的文件

:mksession! ~/.vim/secret.vim "保存当前Session

:source ~/.vim/boring.vim "读取boring session

UNIX AND MS-WINDOWS

如果需要频繁切换UNIX环境和windows环境,则应设置

:set sessionoptions+=unix,slash

windows可以较好地读取UNIX文本,反之不行。

Windows可以较好地理解 / 分割名字,UNXI不能很好地理解 \

SESSIONS AND VIMINFO

Session 不包括寄存器、书签和命令历史------ not the position of marks, contents of registers and the c ommand line history. You need to use the viminfo feature for these things.------这些保存在 viminfo中

|21.5| Views

session保存整个vim的外观,view保存单一窗口的属性

:mkview 1 "保存当前窗口

:loadview 1 "可以为一个文件配置不同的view设置, 以数字命名多达9个------windows下似乎权限问题,无法写入

另一个方法

save the view of the current file: >

:mkview ~/.vim/main.vim

You can restore it with: >

:source ~/.vim/main.vim

|21.6| Modelines

告知编辑器,对特定格式文件采取特定设置。

The 'modelines' option specifies how many lines at the start and end of the file are inspected for containing a modeline. To inspect ten lines: 设置文本首部或者末尾多少行之内,检查包含modeline

:set modelines=10

The 'modeline' option can be used to switch this off. Do this when you are

working as root on Unix or Administrator on MS-Windows, or when you don't

trust the files you are editing: >

:set nomodeline

设置的格式

any-text vim:set {option}={value} ... : any-text

Any-text 可以是任意文本,例如 注释符号 /* */

第二个冒号 : 之后的文本被忽略

例如

/* vim:set shiftwidth=4: */

相关推荐
第二只羽毛2 小时前
搜索引擎项目
大数据·前端·c++·搜索引擎·vim
Tina Tang2 小时前
Agentic AI学习笔记(3)
笔记·学习
一轮弯弯的明月2 小时前
TCP连接管理(三次握手与四次挥手)
网络·经验分享·笔记·网络协议·tcp/ip·学习心得
W.KN3 小时前
AJAX 基础学习笔记
笔记·学习·ajax
啊我不会诶3 小时前
Codeforces Round 1072 (Div. 3)补题
笔记·学习·算法
代码游侠3 小时前
嵌入式开发代码实践——串口通信(UART)开发
c语言·开发语言·笔记·单片机·嵌入式硬件·重构
看海天一色听风起雨落3 小时前
周报(20260119-20260125)
笔记
Aliex_git3 小时前
Git SSH 配置
笔记·git·学习·ssh
很㗊3 小时前
奇技淫巧之花里胡哨的VIM---插件的添加与美化
linux·ubuntu·vim