http://blog.jobbole.com/18337/ http://vim-adventures.com/ 在线VIM大冒险 http://www.tuicool.com/articles/j6JFNb6
接下来让我们更加深入到vim中,去学习更多更好的,可以进一步提升效率的技巧 Don’t Repeat Yourself. Let vim repeat it for you 不要进行重复的操作,让vim替你自动完成这些重复的操作。 vim之所以好用,效率高。 来重复上次修改(确实是够简单的) 废话不多说,还是以例子来说明 假设我有这样一段Python代码 if user == "vim": print("vim is best!") 实用技巧》这本书中,作者介绍了一个实用vim的经典范式——一个键移动、另一个键操作。 最后还是做一个总结:本篇讲述了vim中比较强大的一个命令——. 命令,它能重复上次修改。
深入帮助 回忆上节课内容 上次制作了 oeasy.txt 用 vim oeasy.txt 打开了文件 :f[ile] 查询了当前文件 的信息 从 正常模式或命令模式(Normal mode) 切换到 命令行模式(Command-Line mode) 按 回车 执行命令,执行完了就回来了 我们已经可以在两个模式(命令模式、底线命令模式 模式)之间切换 我们这次想要了解更多的帮助信息 运行帮助 在 vim 上手最难的原因 学习曲线 vim 是公认的非常陡峭的学习曲线 不过突破上去了之后,效率是相当高的 多易必多难 最开始看起来容易的东西,比如 ide 什么都给你配好了,但是你对于底层完全失去了理解和控制 ,到最后反而是最难 我们一点点翻越这陡峭的山,征服 vim 但是为什么是 h、j、k、l 对应方向呢? 使用鼠标 想在 vim 中使用鼠标控制,我们先需要进行基本的配置: 首先我们在 vim 中搜索帮助,输入 :h mouse,可以看到如下图所示的界面: 现在我们进行主题设置 从上图中我们可以看到,vim
对于学习Python编程而言,一个好的IDE是必不可少的,python对于代码缩进有很高的要求,一般都是4个空格缩进。 对于vim而言,我们只要vim .vimrc 加上下面2行代码即可: set ts=4 set expandtab 对于sublime而言,需要Preferences -> Settings, 加上下面 2行代码即可: "tab_size": 4, "translate_tabs_to_spaces": true, 如下图所示: ?
这个可以有,而且还是在线、交互式的那种——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
概要 问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。 方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。 接下来t行,每行4个整数r, c, a, b,表示第r行第c列的方格在第a个时刻到第b个时刻之间是危险的,包括a和b。游戏开始时的时刻为0。输入数据保证r和c不同时为1,而且当r为n时c不为m。 ---- 思路 看完题目,脑子里想起来的就是DFS判断4连通区域的变种,加上部分点不能走约束。但是已提交发现超时。 printf("%d\n",b.now); return; }else{ for(int i = 0 ; i < 4
此外,vim 社区中,虽有 spf13-vim, k-vim 等一些比较有名的 vim 配置,但始终整合的不够,散落着很多适用特定环境的很好的配置,比如针对 c-c++, python, ruby 等等不同语言环境 还有asyncrun.vim 等等,都会成为我们新的选择。 spf13-vim 等的更新似乎不太跟得上步伐,希望集体智慧能够给我们带来一个更好用的 vim 配置。 [图片上传失败... 中,所谓的一个 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 注
这里还有一个游戏中非常重要的概念,精灵类,这里我们是继承pygame.sprite.Sprite类,这样就可以直接调用它的方法了。 ? 添加计分功能 设置一个分数变量score,添加一个字体文件,在游戏主循环中增加分数,然后创建文本内容,最后将内容绘制到屏幕左上角10,10位置。 ? (全文完)
如何开始:游戏加载完毕点击播放按钮 - 然后点击Play game即可开始游戏。 游戏目标:控制火柴人移动,用最快速度到达目标区域。 图片演示: ? ? 游戏视频: 代码摘要: HTML:
欢迎关注专栏 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 保存但不退出