Leaderf的安装与配置使用
Leaderf的安装与配置使用前言: Leaderf使得Vim可以实现像IDE那样的模糊搜索功能,这篇文章介绍配置和使用的方法。 1 下载安装Leaderf 如果你安装了Vundle, 那么直接再Vimrc中添加指令Plugin 'Yggdroot/LeaderF'等待安装完成即可,如果你没有装Vundle,那直接去github上下载并解压拷贝即可。 需要注意的是Leaderf还依赖与ctags和rg(这个插件全名是Rigrep)插件,如果你还没有装可以去github上直接下载Release版的,将其中的*.exe文件拷贝到与GVim.exe同级目录即可。 2 Leaderf常用指令2.1 查询文件::Leaderf file 默认是从根目录内的文件中查找。 2.2 查询函数: :Leaderf function 默认是再当前文件中查找函数。 2.3 模糊查询字符串: Leaderf...
Vim几种跳转方式
Vim几种跳转方式前言: 以下时我常用的一些跳转指令,用于参考和复习记忆。还有一些后续会更新。 1 文件内跳转1.1 移动光标 普通模式下左h,右l,上k,下j。(可以使用数字+hlkj,实现跳跃式移动)。 1.2 字符间跳转 跳转到当前字符的前面:普通模式下i。 跳转到当前字符的后面:不同模式下a。 字符串间跳转 向右跳:普通模式下跳转到串首w,普通模式下跳转到串尾e。 向左跳:普通模式下跳转到串首b,普通模式下跳转到串尾be(这个似乎没有专门的指令)。 高亮文件内的某字符串所有出现处,并在高亮处跳转:先将光标移动值至目标字符串处按*。 高亮匹配结果中往下跳:n。 高亮匹配结果中往上跳:N。 关闭高亮:noh。 1.3 行内跳转 跳转到行末:普通模式下键入$光标移至行末,普通模式下键入A光标移至行末且进入插入模式。 跳转到行首:普通模式下键入0(^会忽略行首的空格,跳到第一个非空格字符处,0则跳到第一列)光标移至行首,普通模式下键入I光标移至行首且进入插入模式。 跳转到行内某个字符(比如字符a):往后跳f +...
Vim常用指令
Vim常用指令前言: 这篇博文整理记录常用的Vim指令,方便查询。 设置tab为4个空格 :set tabstop=4 设置换行自动缩进为4个空格 :set shiftwidth=4 设置显示行号 :set number 撤销指令(undo) 普通模式下按u 以root权限运行gvim(否则无文件写入权限) 保存文件 :w :w! 退出gvim :q :q! 插入模式 光标字符前进入插入模式: i 光标字符后进入插入模式: a 光标所在行行首进入插入模式: I 光标所在行行末进入插入模式: A 光标下插入新行进入插入模式o 光标上插入新行进入插入模式O 运行dos指令 :!cmd :! dir /w 切换目录 :cd E:\ 打开文件 :edit .\DebugLog.h不错在则新建 隐藏或显示菜单栏 :set guioptions-=m(m小写) :set guioptions+=m 隐藏或显示工具栏 :set guioptions-=T(T大写) :set...
GVim管理“工程”?
GVim管理”工程“?前言: 经常看到新手朋友问Vim怎么管理工程之类的问题,其实这是对Vim的误解,它只是个编辑器而不是IDE,它不负责工程管理。工程管理应该交给CMake之类的(不然你还指望能像vscode那样有WorkSpace功能吗?目前我没发现)。如果你只是想用GVim方便的管理文件和文件夹的话还是能做到的,具体可以用Vim自带的目录树管理插件或用NerdTree之类的插件。 用过之后你可能会郁闷遇到“如何让GVim启动就默认打开某个目录或文件?”,更方便点“如何想让哪个文件或文件夹用GVim启动就能立刻启动?”。这篇博客就是回答这两个问题的。 1 如何让GVim启动就默认打开某个目录或文件?1.1...
GVim配置一个漂亮的NerdTree
GVim配置一个漂亮的NerdTree前言: GVim使用也有一段时间了,有空写几个简单的教程帮助新手快速上手,定制一个个性化的编辑器把。以下是我的NerdTree效果展示。 1 NerdTree插件1.1 NerdTree下载安装 如果你安装了插件管理器的化安装就很简单了,如果没有安装使用任何插件管理器,那我建议你还是装一个,因为vim你会用到的插件挺多的,有个管理器很方便。 将这句添加到vimrc中Plugin 'scrooloose/nerdtree',随后重启下vim然后命令模式下执行:BundleInstall(具体根据你装的插件,我装的是Bundle。)安装指令,完毕后最好再重启一次vim。 1.2 NerdTree配置 ps:...
自娱自乐,做大娱乐家
...
浅显易懂的GCC使用教程
浅显易懂的GCC使用教程前言: 2018-12-17天气暖,属于冬日里出太阳。最近在学习使用gvim,想着抛弃对IDE的依赖同时也是想了解编译的过程,但除了学习gvim繁多的指令外还得先学习使用gcc编译程序。这篇文章将会用浅显易懂的方式记录下gcc的基本使用,同时也不忘扩展探究。 什么是GCC,它能干什么? GCC、gcc、g++三者有何关系? 开始开发前该做什么准备? gcc常用指令讲解? 1 什么是gcc,它能干什么? GCC(GNU Compiler Collection)即GNU编译器套件,属于一种编程语言编译器,其原名为GCC(GNU C Compiler)即GNU c语言编译器,虽然缩写一样但是功能上区别很大。GCC的初衷是为GNU操作系统专门编写的一款编译器,原本的GNU是专用于编译C代码,现如今已扩展为可以编译C、C++、Java、Objective-C等多种编程语言的编译器集合了。这篇文章主要介绍gcc或g++的使用。 2 GCC、gcc、g++三者有何关系? gcc(GUN C...
参数有效性检验
参数有效性检验前言: 2018-11-26天气凉,耗时三个周末完成这篇原创文章,记录下自己关于程序安全性方面的一些微薄见解。愿自己程序员之路越走越顺利,保持激情初心,不忘理想前行。 1 问题: 为什么要检验? 哪些情况判为参数失效? 有哪些参数需要检验? 怎么检测? 在哪里检验? 怎么处理? 2 为什么要检验? 保护程序免糟非法输入数据的破坏,尽可能将异常数据对程序造成的影响控制在有限的范围内。 防御式编程主要思想:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。更一般地说,其核心思想是承认程序都会有问题,都需要被修改,聪明的程序员应该根据这一点来编程。 不管进来什么,好的程序都不会生成垃圾,而是做到“垃圾进,什么都不出”、“进来垃圾,出去是错误提示”或“不许垃圾进来”。 ——《代码大全2》第8章 防御式编程 3...