http://blog.jobbole.com/18337/ http://vim-adventures.com/ 在线VIM大冒险 http://www.tuicool.com/articles/j6JFNb6
关于vim能快速编辑文本的能力,我们见识到了 operator + motion ,见识到了. 范式和宏。甚至可以使用命令来加快文本编辑。在后面我们又介绍了快捷键绑定来快速执行我们想要的操作。 这样即使我们手误将 main 写成了 mian ,vim能自动帮我们更新。再也不用怕编辑器报找不到 main 函数了 我们发现了它的第一个用途——纠正笔误。 有兴趣的小伙伴可以查看vim手册来了解。 可以在vim手册中详细阅读关于 iskeyword 部分的说明。这里就不再过多介绍,我认为当前定义更符合编码时的直觉。
另存与保存 回忆上节课内容🤔 我们上次进入了插入模式 从正常模式,按<kbd>i</kbd>,进插入模式 从插入模式,按<kbd>ctrl</kbd>+<kbd>c</kbd> 退回到正常模式 这次我们想想应该如何保存这个文件 ls -l . > oeasy.txt vi oeasy.txt 保存文件 首先要查询 save 相关的帮助📕 :h save 只是找到了 saveas {file} 这一看就是 另存为 啊 我们来试一下 <kbd>i</kbd> 进入插入模式 随便打字 🅰️ 然后另存为
插入模式是vim中主要用来处理输入的一种模式,在这种模式中,用户的输入的字符会显示在窗口中。该模式中的行为与在普通编辑器中输入类似。 这个技巧也是 《vim实用技巧》 书中介绍的,可以在vim中使用 :h digraph-table 来查看二合字母表。平时写代码基本用不到这个,所以这里就一笔带过吧。 替换模式 vim 中的替换模式与改写模式类似。它会将光标所在字符替换为新输入的字符,按照 vim官方文档的说法,替换模式不会变更文本自身的长度,只会在现有长度上替换已有文本。 如果不希望长度变化,vim提供了一种被称之为虚拟替换模式的方式,可以使用 gR 进入,这样再替换制表符的话,制表符被替换为一个字符+ 多余的空格,源文本长度不变。 至于虚拟替换模式解决tab 的问题,我更喜欢使用一些配置将tab 键改为空格,这里我们在配置文件中再添加几行 -- nvim lua 配置 vim.o.softtabstop = 4 vim.o.shiftwidth
这个可以有,而且还是在线、交互式的那种——Vim.so。 ? 并且Vim.so用起来像打游戏一般的体验,也让网友们一片“好评如潮”。 ? 打游戏一样学习Vim 既然要学习Vim,那就免不了要了解它那“令人发指”的命令和快捷键。 例如,这样(有种让你背元素周期表的赶脚)…… ? 像打游戏通关一样,就能快速上手。 ? 在这一关“游戏”中,通过键盘指令的操作,将光标移动到“%”的位置,并将它删除掉,就算完成一次任务。 有没有种玩“消消乐”的感觉? 类似这样的课程,Vim.so一共提供了10门,据作者本人介绍,目的就是让新人能够快速上手、让Vim性能最大化。 ? 虽好用,但需付费 虽然这种交互式学习Vim的方式,对于新手来说是非常友好的。 传送门 Vim.so地址: https://www.vim.so/#exercise “用聪明的方式学Vim”地址: https://github.com/iggredible/Learn-Vim —
Vim 的配置涉及很多东西,如果对 Vim 配置不太熟悉的话,建议直接用 Github 上的配置,比较流行的有 ultimate vim 和 spacevim,其中前者在 star 数上是更多,也更流行的 ,笔者用过 spacevim,有时候会有些奇怪的报错,因为作为用户来说没有太大必要去了解 Vim 的配置,所以最后还是选择回了 ulimate vim,相对比较简单无脑。 git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime sh ~/.vim_runtime/install_awesome_vimrc.sh
独立游戏开发可用的工具和资源比以往任何时候都多。这意味着独立游戏开发者可以制作十年前不可能制作的游戏,但这也可能使入门变得非常困难。 随着游戏的发展,它们通常缺少一些对更成熟的游戏有用的复杂功能(游戏引擎提供)。另一方面,由于它们更轻量,它们通常可以让你更自由地按照自己的意愿构建代码和游戏。 将其变成一个完整的游戏你制作了一款小游戏,游戏机制简单、良好,还带有一些图形和声音,将所有内容整合在一起。现在它真的开始像一款游戏了! 习惯于现实地规划项目范围(这样你才有机会完成它们)并推动自己完成整个游戏循环是学习将其作为开发日常工作的重要一步。6.开始一些新的事物!恭喜!你已经制作了自己的第一款独立游戏。 学习制作游戏的最好方法就是制作游戏,无论游戏有多简单或多小。找到你以前没有尝试过的新机制或想法,想出一个使用这些想法的最简单的游戏,然后制作它。
此外,vim 社区中,虽有 spf13-vim, k-vim 等一些比较有名的 vim 配置,但始终整合的不够,散落着很多适用特定环境的很好的配置,比如针对 c-c++, python, ruby 等等不同语言环境 (image-13aac6-1510556024398)] [图片上传失败...(image-787ab7-1510556024398)] [图片上传失败... 中,所谓的一个 Layer ,其实很简单,就是集成了一些相关的 vim 插件及其配置,涉及到两个文件: config.vim 与 packages.vim. 不难理解,config.vim 为该 Layer 的相关配置信息,packages.vim 则为该 Layer 所需的一些 vim 插件。 :space-vim 致谢 spacemacs spf13-vim ......
还是继续重复造轮子吧 vim Linux vi/vim | 菜鸟教程 (runoob.com)
vim有三种模式vim file 即可创建file并进行编辑,自动进入命令模式命令模式^ 移动光标至行首$ 移动光标至行尾 中传递文件并运行时,可能会涉及到文件格式转换替换 %s///g %s/// s///g s///异常处理vim 或者vim -r 文件继续编辑
安装步骤# 第一步,下载源码# 到Vim官方Github仓库下载目前最新的Vim Release版本 wget https://codeload.github.com/vim/vim/tar.gz/v8.2.1258 第二步,解压# $ mv v8.2.1258 vim-v8.2.1258.tar.gz $ tar -xvzf vim-v8.2.1258.tar.gz 第三步,编译安装# $ cd vim-8.2.1258 prefix=$HOME/.local --enable-python3interp=yes && make && make install 这里注意一下我们需要用configure配置一下安装的路径,将Vim8 指令定向到刚刚安装的vim8,同时修改.bashrc确保之后一直能生效 alias vim='~/.local/bin/vim' echo "alias vim='~/.local/bin/vim'" >> ~/.bashrc 第五步,检查# vim --version 参考文献# CentOS7 上Vim8升级安装指南 CentOS 编译vim no terminal library found 注
不过一直以来 vim 中都缺少像 emacs-which-key 这样“形神兼备”的插件,这一点我在 space-vim 的 README 中也一早有提及。 vim-leader-guide 是 vim 里出现的一个比较接近的插件,它主要借鉴自 guide-key,而 guide-key 是 emacs-which-key 的前身,目前已经不更新了,上一次 因为 vim-leader-guide 之前长时间没有更新,而且在我看来不够 fancy,所以我对它进行了一个大的改造,也就是现在的 vim-which-key,主要改进的地方有: 大量 UI 细节上的调整与改进 vim-which-key 使用要求 vim-which-key 对于 vim 的版本和特性基本没什么要求,需要注意的一点是不要关闭选项 timeout,即不要在 vimrc 中设置 set notimeout 支持解析 <C-W> 等键位 更详细的样例可以参考 space-vim 的 leader.vim, 它也是截图中的配置。
安装步骤# 第一步,下载源码# 到Vim官方Github仓库下载目前最新的Vim Release版本 wget https://codeload.github.com/vim/vim/tar.gz/v8.2.1258 第二步,解压# $ mv v8.2.1258 vim-v8.2.1258.tar.gz $ tar -xvzf vim-v8.2.1258.tar.gz 第三步,编译安装# $ cd vim-8.2.1258 prefix=$HOME/.local --enable-python3interp=yes && make && make install 这里注意一下我们需要用configure配置一下安装的路径,将Vim8 指令定向到刚刚安装的vim8,同时修改.bashrc确保之后一直能生效 alias vim='~/.local/bin/vim' echo "alias vim='~/.local/bin/vim'" >> ~/.bashrc 第五步,检查# vim --version 参考文献# CentOS7 上Vim8升级安装指南 CentOS 编译vim no terminal library found 注
欢迎关注专栏 space-vim , 有空我会以 Vim 自带的 help (不妨 :help help 看一下) 为线索, 分享一些关于 Vim 的小知识 ,也会顺带着介绍一下 space-vim 的配置与用法 vim 命令的一般形式
如果对于 vim 不是一个完全的新手,大概能够发现大部分 vim 命令具有以下模式:(command)(text object).对于更改命令(change vim 进阶
使用数字
在很多 vim 的命令之前都可以使用一个数字,这个数字将会告诉 vim 这个命令需要执行几次。比如:
3j : 将会把光标向下移动三行。
10dd : 将会删除十行。 用vim写代码
vim 是程序员专用,自然有一些特性是专门为程序员而设计的。 参考:
Vim学习笔记
学习vi与vim编辑器 第七版 中文 东南大学出版社
vim常用命令 VIM虽说不长用,然是还是很需要掌握的,VIM功能强大的没话说,就是命令太多不好记! 老高就来慢慢总结一下VIM的常用命令和技巧吧! gg`VG` 选中全部的文本,其中gg为跳到行首,V选中整行,G末尾 y 复制 (默认是复制到"寄存器 p 粘贴 (默认从"寄存器取出内容粘贴) "+y 复制到系统剪贴板(也就是vim的+寄存器) 删除 行尾追加三个感叹号 3x 删除3个字符可以用 退出 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ZZ 退出Vim :q!
光标移动: h,j,k,l h #表示往左,j表示往下,k表示往右,l表示往上 Ctrl f #上一页 Ctrl b #下一页 w, e, W, E #跳到单词的后面,小写包括标点 b, B #以单词为单位往前跳动光标,小写包含标点 O #开启新的一行 ^ #一行的开始 $ #一行的结尾 gg #文档的第一行 [N]G #文档的第N行或者最后一行 插
Vim/三种模式 Vim和Vi一样具有三种模式:命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode)。 命令模式 用户刚刚启动Vim,便进入了命令模式。 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。 若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式. 命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。 输入模式 在命令模式下按下i就进入了输入模式。
vim基础保存退出命令 vim xxx.file 输入文件内容; ins 按键 (键盘 i 键),切换插入和增加 按 ESC,左下角就可以进行输入 ,按ESC退出编辑模式,进入命令模式 :w 保存但不退出
PacVim是一个让你通过玩游戏学习 Vim 命令的游戏,你只需要移动pacman 绿色光标来突出显示游戏板上的每个单词,同时避免出现红色障碍物。 PacVim 来自 Github 开发者:Jamal Moon,为了帮助自己学习 VIM,让学习变的更加轻松,因此也就开发出了这款游戏。 pacvim-maps maps/map0.txt maps/map1.txt maps/map5.txt maps/map7.txt maps/map2.txt maps/map9.txt maps/map6. PacVim 游戏示意图 获胜条件:使用vim命令将光标移至字母上方并突出显示,在所有字母显示后,将赢得并进入下一关。 失败条件:如果触碰到障碍物(红色G)或波浪号字符,将会失败。 如果您的生命少于0,则会输掉整个游戏。 PacVim 项目地址 如果大家对这个项目感兴趣并想通过这个项目学习巩固一下 Vim 知识,可以去体验一下。
# 查看当前vim版本 vim --version [我使用的Vim版本是8.2嗷] Vi&Vim Vi是“Visual”的不正规的缩写,Vi于1976年以BSD协议授权发布。 Vi拥有众多的衍生项目,Vim就是其中一个;主要区别: Vim完全继承Vi的原有操作。 Vi仅支持单次撤回,Vim支持多次撤回。 Vim用于丰富的插件系统。 下载Vim 首先我们进入Vim项目地址,下载Windows版本Vim:vim-win32-installer [我的Windows为x86_x64] 2. Vim安装插件 没错,Vim是可以安装插件的,一般插件需要修改文件syntax、filetype.vim等等,也正因如此,Vim的上手门槛可以说是相当大。 但是,在Vim8之后,安装Vim插件变得十分简单。我们可以直接克隆插件到:~/.vim/pack/plugins/start目录内,之后Vim即可生效插件。