http://blog.jobbole.com/18337/ http://vim-adventures.com/ 在线VIM大冒险 http://www.tuicool.com/articles/j6JFNb6
让我们先学会如何使用vim基本功能进行编辑,后面再看如何进行配置,以达到某某IDE或者编辑器的效果 vim 为何高效 这里我们先聊聊vim为何高效。 最后提供一个能描述vim操作逻辑的公式 vim的几种模式 vim主要分为一下几个模式 普通模式 (normal mode) 不出意外的话,在使用vim的时候大部分时间停留在普通模式下,并且很多操作都是在普通模式下完成的 vim 移动光标的几种方式 移动光标可以说是vim 中所有操作里面最基础的操作了。因为 删除, 输入 和 替换 这三个操作都是以光标所在位置为基础做的。 例如cw 表示针对一个单词进行替换操作,d2w 表示对光标后2个单词进行删除操作,这么写也比较符合我们平时使用的日常语言,例如 d2w = delete 2 words (删除两个单词) 示例: 使用 它与前面演示的 d2w 能达到相同的操作,但是含义不同。d2w 表示一次删除两个字符。理解了这个,这里我提出一个简单的问题 2d2w 的等效操作是哪两个呢,欢迎评论区给出。
接 Vim 文本对象 (1), 关于插件使用, 可以查看完整配置 space-vim. ---- 编程语言的文本对象 Vim 基于常见编程语言结构提供了几个常见的文本对象. 对文本对象进行操作时,Vim 不会考虑你的光标位置。而非文本对象操作时,会从当前光标处开始生效。 at – a tag block it – inner tag block <h2>Sample Title</h2> cit <h2></h2> 因为操作后光标并不在 <h2> 里面, 所以 cit 参考: [1] Vim Text Objects: The Definitive Guide
例如: nums = [2, 3, 1, 1, 4] ,可以从nums[0] = 2 跳跃至 nums[4] = 4; nums = [3, 2, 1, 0, 4] ,不可以从nums[0] = 3 贪心规律 若此时处在第i位置,该位置最远可以跳至第j位置(index[i]),故第i位置还可跳至: 第i+1、i+2、...、j-1、j位置; 从第i位应跳至第i+1、i+2、... if(max_index == index.size()){ return true; } return false; } }; 跳跃游戏 2 LeetCode 45. 例如: nums = [2, 3, 1, 1, 4] ,从第0位置跳到第1位置,从第1位置跳至最后一个位置。
重复动作 u 撤销 J 合并两行 编辑命令 文本对象 更改 删除 复制 一个单词 cw dw yw 两个单词 2cW/c2W 2dW/d2W 2yW/y2W 后退三个单词 3cb 3db 3yb 一整行
退出vim 按键 功能 :wq 保存退出 :w filename 保存到指定文件 :q 退出,如果文件修改但没有保存,会提示无法退出 :q! g 将文件中所有p1均用p2替代,p1和p2可以为正则表达式 :n1,n2s/p1/p2/g 将n1到n2行所有p1均用p2替代 :%s/p1/p2/gciIe 替换时、全局替换,替换确认,忽略大小写, 区分大小写,没有匹配时不显示错误 :106;/endstring/s/p1/p2/g 在106行到endstring行的p1内容替换为p2 光标定位 行间定位 按键 功能 gg 到文件第一行行首 G 执行上一次操作 u 撤销前一个命令 ctrl+r 恢复对使用u命令的操作 多窗口操作 按键 功能 :sp file 横向新增窗口,file为窗口名 :vs file 纵向新增窗口 vim -o file1 , file2… 横向窗口打开文件 vim -O file1, file2… 纵向窗口打开多个文件 :qa 退出所有窗口 :res(ize) num 显示行数调整为num行 :res+num/:res-num
最近在使用Ubuntu18.10 安装vim的时候出现问题了,报错:vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2) 但是 2:7.3.429-2ubuntu2.1 一、实验环境 Ubuntu 18.10 二、安装问题 2.1 安装vim sudo apt-get install vim 2.2 安装提示信息 vim : 依赖: vim-common (= 2:7.3.429 -2ubuntu2) 但是 2:7.3.429-2ubuntu2.1 正要被安装 2.3 解决方式 vim : 依赖: vim-common (= 2:7.3.429-2ubuntu2) 但是 2:7.3.429 -2ubuntu2.1 正要被安装 2.3 解决方式 打开一个Terminal终端窗口,依次输入以下命令: sudo apt-get purge vim-common sudo apt-get update sudo apt-get upgrade sudo apt-get install vim
vim是linux中的一款命令行编辑器,功能强大,几乎所有的linux发行版都会预装。类似于c++和c语言,vim是vi的升级版,兼容vi的所有命令,同时拥有自己的新特性。 vim的多模式 Vim和Vi都是多模式的编辑器,vim一共有十多种模式,不同模式集中完成不同的功能,掌握常用的几种模式就足够了。 输入vim加文件名之后就可以进入vim编辑页面,进入时,处于命令模式。 +linux命令:在不退出vim的情况下执行相应命令。 补充: 1.vim打开一个文件时自动定位到退出时光标的位置 2.用vim打开文件时加上数字可以直接跳转到指定行
一、要求 1.使用控制台实现经典的扫雷游戏,游戏可以通过菜单实现继续玩或者退出游戏; 2.棋盘是 9*9 的格子,默认随机布置10个雷; 3.可以排查雷,如果位置不是雷,就显⽰周围有⼏个雷,如果位置是雷 ,就炸死游戏结束; 4.把除10个雷之外的所有雷都找出来,排雷成功,游戏结束。 2、假设我们排查(2,5)这个坐标时,我们访问周围的⼀圈8个⻩⾊位置,统计周围雷的个数是1; 假设我们排查(8,6)这个坐标时,我们访问周围的⼀圈8个⻩⾊位置,统计周围雷的个数时,最下⾯的三个坐标就会越界 ⽂件的形式对函数的声明和定义,这⾥我们实践⼀下,我们设计三个⽂件: test.c //⽂件中写游戏的测试逻辑 game.c //⽂件中写游戏中函数的实现等 game.h //⽂件中写游戏需要的数据类型和函数声明等 row, int col); //排查雷 void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col); 2.
回忆上节课内容 更新和运行 vim 进入和退出 vim 存活了下来 从中我们知道 vim 有两种模式:正常模式(Normal mode)和命令行模式 (Command-Line mode) 为了您能更好在 vim 中生存,必须给您更强大的工具 -- 帮助手册 vim 有没有可以用的帮助系统呢 #首先进入vim vim 使用帮助文件 进入 vim 之后,我们面对的是正常模式 输入半角 : 进入 命令行 模式 查看关于模式的帮助 vim 是有状态的编辑器 (modal editor) 所处的状态不同 进行同样键盘录入 具体执行的效果不同 #使用 help 查询帮助 :help Normal #或者把 help 简写成 h :h Normal 我们可以看到 vim 总共有 6 种基本模式 正常模式 (Normal mode) 也叫默认模式。 进入 vim 时默认的模式所有输入的键都直接对应着命令 也被叫做命令模式.
我们的点球游戏已经快完成了,现在要做的就是增加比赛提前结束的机制,让它更真实。 (关于这个小游戏的前几课内容参见第 26 27 28 课) 我的思路是这样:比赛提前结束,就是落后一方的得分,加上他在5轮中剩下的轮数,仍然低于领先方现在的得分。 你可以按照自己的理解,去一步步完善这个游戏。 ? ?
用一个JS小游戏来练习下JS的相关知识 创建HTML文件 创建视图文件game1.html: <! <html> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>小游戏 solid yellow; border-radius:10px 10px 10px 10px ; box-shadow: 2px 2px 10px # <html> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>小游戏 solid yellow; border-radius:10px 10px 10px 10px ; box-shadow: 2px 2px 10px #
语言:java 最低运行环境:不详 2.Rokon 简介:是一款Android 2D游戏引擎,基于OpenGL ES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,该项目最新版本为 OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D游戏开发,物理引擎采用Box2D实现。 单就性能角度来说,堪称是一款非常强大的 Android游戏引擎, 缺点:(1)精灵类等相关组件在使用上不够简化 (2)而且文档也较为匮乏。 (3)仅支持2的次方的图片尺寸。 2.jpct jpct是一款体积非常之小的Android 3D游戏引擎,基于OpenGL ES技术开发。 我原来看过一个调查,在游戏开发者中,用unity3d开发的大约有40%+,cocos2d大约有16%+,因此在学习阶段,尽量还是使用知名的游戏引擎来进行开发。
这个可以有,而且还是在线、交互式的那种——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 —
1.生命游戏 生命游戏也叫康威游戏,是一种细胞自动机,最初是由数学家约翰·何顿·康威在1970年发明的。 这个游戏是一个零玩家游戏,整个游戏会根据定义的规则自动执行下去。 生命游戏的游戏场地是一个二维的棋盘,每一个位置叫做一个细胞,有生, 死两种状态,如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而死亡,相反,如果因为周围的细胞过少,这个细胞会因为太孤单而死去。 2. 如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变; 3. 在其它情况下,该细胞为死(即该细胞若原先为生,则转为死,若原先为死,则保持不变) 利用这个规则让其自动演化就可以了: 2. 配置文件读取: 配置文件以txt文件形式存储,然后读入,只存储活着点的坐标,每一行的第一个数表示该行的行坐标,后面是列坐标,比如: 1 5 2 4 5 6 3 3 4 5 6 7 4 2 3 4 5 6 7 8 5 1 2 3 4 5 6 7 8 9 6 2 3 4 5 6 7 8 7 3 4 5 6 7 8 4 5 6 9 5 对应的图片张这样: ?
今天使用 iterm2 连接 Linux 远程服务器,然后 vim 编辑一个文件,忽然发现中文乱码,新增中文也是乱码。 最终发现原因是 :终端和服务器的字符集不匹配,MacOSX下默认的是utf8字符集 解决方案: 编辑配置文件 vim ~/.zshrc 添加如下内容: export LC_ALL=en_US.UTF-8
context.clearRect(x, y - 1, 100, 100) context.fillRect(x, y, 100, 100) } drawRect(canvas.width / 2 image.png const rectX = canvas.width / 2 - 50 let rectY = 0 setInterval(function(){ drawRect(rectX, - 100 && touchY <= rectY + 100) { // 飞机与矩形发生碰撞 wx.showModal({ title: '提示', content: '发生碰撞,游戏结束 image 获得体验版本小游戏二维码 { "description": "项目配置文件。" 小游戏配置 game.json 文件 { "deviceOrientation": "portrait", "networkTimeout": { "request": 5000,
「游戏类型」:多人即时场景格斗游戏 「体验」:中二少年的日常幻想 「故事设定」:主角是一个爱幻想的普通学生,喜欢动漫,经常幻想自己有超能力,在学校里有神秘的黑手和恶棍,自己的好友其实也是拥有超能力,可以和自己并肩作战的队友 2对2 的双打,没问题的。 「游戏印象」: 突然觉得,这种设定和夏娜的很像,封绝和相对静止,突然感觉好真的中二吖。 ? 夏娜 「纸上原型」: ? 改变范围内一角色攻击目标,技能冷却时间 2拍。 角色 C:队友,束缚术使用者,HP:30,攻击距离:半径4区域,停止范围内一名角色2拍,技能冷却时间 1拍。 角色 D:敌方,水系攻击魔法,HP:20,攻击距离:半径2区域,攻击伤害:2HP,技能冷却时间 3拍。 课桌,在5拍之内,同时被水系和火系魔法攻击后会爆炸,产生半径1的溅射无差别伤害 1HP。 ---- 恩,今天的游戏原型就是酱紫了,还是有点粗糙吖。 都看到这了,留个言,点亮那个 ♡ 让我开心一下吧~~_
$ vim --version | grep python 安装 1.安装 $ sudo apt install vim-nox-py2 除了vim-nox-py2,还可以选择安装vim-gtk-py2 2.重置vim符号链接 $ sudo update-alternatives --config vim ? 然后输入0按回车。 现在输入$ vim,打开的就是/usr/bin/vim.nox-py2这个vim版本了! , 实际程序的执行路径, 如/usr/bin/vim.nox-py2. 其中前三者的关系是: $ ln -s /usr/bin/vim.nox-py2 /etc/alternative/vim $ ln -s /etc/alternative/vim /usr/bin/vim
《鸟哥的Linux私房菜》学习笔记 1.Vim的使用 一般指令模式:vim进去模式的模式 编辑模式:在一般模式下按 “i, I, o, O, a, A, r, R” 可以进入编辑模式 命令行命令模式 任意一个,可以将光标移动到最下面那一列 image.png vim fileName可以新建一个文件,编辑完后按ESC输入:wq即可完成编辑且退出,若文件权限不对无法写入,可以加一个! ,但这是在“你的权限可以改变”的情况下才能成立的 在一般指令模式下:按u可以撤销编辑模式下的修改、30 j向下移动30行光标、30 k向上移动30行光标 菜鸟教程 vim image.png 2.BASH =2 [root@VM-20-9-centos /]# var[3]=3 [root@VM-20-9-centos /]# echo ${var[1]}, ${var[2]}, ${var[3]} 1, 2, 3 命令执行的判断依据 cmd1 ; cmd2:可以一次执行多个指令,用 ; 隔开 [root@VM-20-9-centos /]# echo aa;echo bb aa bb cmd1 &&