" 在注释输入中也能补全 let g:ycm_complete_in_comments = 1 " 在字符串输入中也能补全 let g:ycm_complete_in_strings = 1 " 传说中的...git左边状态插件配置 " 检查修改间隔时间 ms set updatetime=100 " 高亮,仿git diff highlight GitGutterAdd guifg=#009900 ctermfg...的符号是字体没装,powerline字体安装下. git clone https://github.com/powerline/fonts.git --depth=1 cd fonts ....如果你想动态监测eslint报错,请在vimrc中把监测模式中的passive消极模式配置注释掉(有点耗性能)。 ack: 请执行如下命令保证你的命令行ack命令能够被vim ACK组件使用。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
标记为非文本文件, 不进行换行符的转换 auto: 自动识别 未声明: 使用core.autocrlf属性 eol 设置行尾的换行符规则....不在 Windows 下开发估计也用不到了. crlf lf working-tree-encoding 如果你的文件不是使用 utf8编码, 则 git 无法识别, 此属性告诉git应该使用什么编码来读取文件.... git会将文件按照指定编码识别, 并使用utf8保存在git历史中, 当检出时, 输出为指定编码的文件....此属性甚至可以实现文件编码的批量修改, 操作步骤如下: 在一个有文件a.txt的分支A 上, 将其提上去 切换到一个没有a.txt文件的分支B 修改.git/info/attributes文件中a.txt...diff模式, 定义在: .git/config 或 ~/.gitconfig 文件中.
这些变量可以存放在以下三个不同的地方: 1、~/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置,用git config —system读写(操作系统可以设置多个用户) 2、~/.gitconfig...(就可以在云端上保存你的代码了) 三、基本操作: 按正常工作流程的顺序介绍,接下来的命令说明中: :表示应该根据情况填写不同的值 []:表示可选参数 1、Init、Clone git init(创建一个空的...git diff —cached [commitID] [file](同上) git diff [commitID1] [commitID2] (两次提交差异) 9、Commit 提交 提交暂存区到本地仓库...dev(将dev分支合并到当前分支[如:master分支]上) 如果有冲突,需要处理: 分隔符上部分:当前分支内容 分隔符下部分:远程分支内容 处理非文本文件冲突: git checkout —theirs...i HEAD~2 (倒数第几条,从1开始) 按I,进入编辑,将需要修改的commit前面的pick修改为edit; (编辑方式:按Esc,按:,输入:wq,回车) git commit --amend
将给定的目录添加到编译器用于搜索包含文件(如头文件)的目录中,相对路径被解释为相对于当前源目录。...* 100 + HELLO_APP_VER_PATCH) // for source code // 用于在项目源码中获取版本号字符串 // v0.1.0 #define _HELLO_APP_STR...33m") SET(Blue "${Esc}[34m") SET(MAGENTA "${Esc}[35m") SET(Cyan "${Esc}...}[1;32m") SET(BoldYellow "${Esc}[1;33m") SET(BOLDBLUE "${Esc}[1;34m") SET(BOLDMAGENTA..."${Esc}[1;35m") SET(BoldCyan "${Esc}[1;36m") SET(BOLDWHITE "${Esc}[1;37m") ENDIF() FUNCTION
prompt (\u@\h) [\d]> 3、在 MySQL 的配置文件中配置。 [mysql] prompt=(\\u@\\h) [\\d]>\\_ 4、通过环境变量配置。... 服务器主机 \p 当前的TCP/IP端口或套接字文件 \u 你的用户名 \U 你的全user_name@host_name账户名 \\ ‘\’反斜线字符 \n 新行字符 \t ...Tab字符 \ 空格(反斜线后面的空格) \_ 空格 \R 当前的时间,24-小时军用时间(0-23) \r 当前的时间,标准12-小时(1-12) \m 当前时间的分钟 \y ...当前的年,两位 \Y 当前的年,四位 \D 当前的日期 \s 当前时间的秒 \w 当前周的天,3字符格式(Mon,T ,...) ...\P am/pm \o 当前的月,数字格式 \O 当前的月,3字符格式(Jan,Feb,...)
同理,打开GVIM后,需要进入 工作目录(如: E://work//myprj),则直接输入 :E E://work//myprj 使能ctag和 cscope,方便查找与跳转。... "在插入模式中使用Ctrl+v粘贴全局剪贴板内容 inoremap esc>:set pastemui+esc>mv'uV'v=:set nopaste...command -nargs=1 Git call Git() function Git(str) let gitprg = "\"c:\\program files\\git\\bin...CmdInTmpFile("git diff -- " . g:src_root) else call CmdInTmpFile("git diff -- " . bufname(""))...let Tlist_Show_One_File = 1 ? ? ? ? ? ?"不同时显示多个文件的tag,只显示当前文件的 "?let Tlist_Exit_OnlyWindow = 1 ? ?
比如按下i,该模式下用户输入的任何字符都被作为文件的内容保存起来,如果想返回 Normal 模式,请按ESC键。...尽管普通模式下的命令可以完成很多功能,但要执行一些如字符串查找、替换、显示行号等操作还是必须要进入命令模式。 如果不确定当前处于哪种模式,按两次 Esc 键将回到普通模式。...pattern - 向上查找 pattern \vpattern - pattern 中的非字母数字字符被视为正则表达式特殊字符 (不需转义字符) n - 查找下一个 N - 查找上一个 :%s/old...使用单引号会跳转至该标记所在行行首(首个非空白字符) 宏 qa - 录制宏 a q - 停止录制宏 @a - 执行宏 a @@ - 重新执行上次执行的宏 Diff zf - 定义折叠修饰符 zd -...:diffthis - 令当前窗口成为 diff 模式的窗口之一 :dif[fupdate] - 强制刷新 diff 的高亮与折叠 :diffo[ff] - 令当前窗口退出 diff 模式 注:折叠命令
代码示例 public String subString(String str, int subBytes) { int bytes = 0; // 用来存储字符串的总字节数...} char c = str.charAt(i); if (c < 256) { bytes += 1;...// 英文字符的字节数看作1 } else { bytes += 2; // 中文字符的字节数看作2 if(bytes...- subBytes == 1){ return str.substring(0, i); } }
# 拷贝不提示 既不使用别名 cp -i rev # 将行中的字符逆序排列...,可做校验,也可用于文件校验 iconv -f gbk -t utf8 source.txt > new.txt # 转换编码 xxd /boot/grub/stage1...# 排序时,将小写字母视为大写字母 -d # 排序时,处理英文字母、数字及空格字符外,忽略其他的字符 -c...# 解包指定tar.gz中的内容 不指定目录则全解压 tar zcvpf /$path/gz.tar.gz * # 打包gz 注意*最好用相对路径...zxf - -C /xxxx" # 一边压缩一边解压 zgrep str 1.gz # 查看压缩包中文件字符行 bzip2
删除文件 或 空目录 rm -rf dir 删除一个 非空 目录 rm -rf dir rmdir 删除 空 目录 平时用得少 cp 复制文件或目录 cp file1 file2 file 显示文件类型...paste 横向拼接文件内容 paste file1 file2 diff 比较并显示两个文件的内容差异 diff file1 file2 wc 统计文件的字符数、词数和行数 wc file_name...组:用户、群组和其他用户的文件访问权限; 1 文件数量 本例中仅1个文件 xz 所在用户 本例中用户名为xz staff 所在群组 本例中用户群组为staff 42233727 文件大小 本例中文件的字节数...which 查看指定程序的路径 which python history 列出最近执行过的命令及编号 hostname 电脑在网络中的名称 env 显示当前所有设置过的环境变量 passwd...CTRL+X:按住CTRL,双击 X 可以进行当前位置与行首位置,进行切换 ESC+B:光标向左移动一个单词 ESC+F:光标向右移动一个单词 CTRL+U:删除光标前所有字符 CTRL+K:删除光标后所有字符
Git # 版本控制系统 git的初始配置 # 命令行中输入指令 git config --global user.name "example" git config --global user.email...Git 的工作流程 # 在工作目录中添加, 修改文件 # 将需要进行版本管理的文件放入暂存区域 # 将暂存区域的文件提交到Git仓库 Git 的三棵大树 # 工作区域, 暂存空间, Git仓库 Git...reset HEAD~ 将版本后退一级 # 多个 ~ 后退多级 git reset 版本快照 后退到相应版本 git reset 版本快照 文件名 将相应文件后退到相应版本 git diff 比较暂存区域与工作目录...git diff 快照 id 号 比较当前目录和快照 git diff --cached 快照 id 号 比较暂存区域和快照 git diff 快照 id 号 快照 id 号 将两个快照进行对比 git...commit --amend 可以更改前一次提交提示内容 # 进入后的界面为 vim 编辑器 # 点 esc 后, 输入 :wq 即为保存, 输入 :q!
\e[0m";; green) echo -e "\e[1;32m$color $str \e[0m";; yellow) echo -e "\e[1;33m$color $str \...然而与之不同的是,Bash中的右括号里面,不仅支持完整的字符串(c语言中只支持整型数据,包括int和char ,不支持字符串)还支持“模式”匹配。模式的概念,如果了解正则表达式,那么就很容易理解了。...(非空格、非控制字符) [^\x01-\x20] [:lower:] 小写字母 [a-z] [:print:] 可打印字符(图形类加空格和制表符) [\t\x20-\xFF] [:punct:] 任意标点符号...,如句点(.)和分号(;) [-!"...当然了有些字符(比如控制字符)貌似不好输入。这样不好测试[:cntrl:]这个字符类,这里我告诉您一下,ascii码中27对应的控制字符就是ESC。测试脚本的时候,可以按一下ESC键。
这是背景,项目是关于做一个工具,可以指定两个目录进行对比,如果某个文件如a.txt在两个目录都存在,就对比其内容并呈现,呈现效果可以参考beyond compare或者git diff。...差异对比,很多人会想到beyond compare、git、svn等。这里以git来说吧,git作为版本管理工具,真的也太方便了,很多时候想推荐给非互联网行业的朋友们。...image-20220801214421370 "最短diff"这个算法有多种实现,在git diff的代码中,就有4种实现供我们选择,分别是: myers, minimal, patience, histogram...在git help diff的文档中,有简要介绍: image-20220801212830510 默认的是myers算法,什么时候用其他的呢,这边有篇文档:https://luppeng.wordpress.com...而Myers的目标,应该就是从众多的路线中,选出一条距离最短(向右的次数 + 向下的次数之和;走对角线不算)的路线。 而这条最短的路线,就是最短diff算法的答案。
原文链接:http://www.cnblogs.com/tandaxia/p/5235450.html 使用git把本地代码提交到github上步骤: 1、打开终端,进入要提交的代码文件夹,如:cd /...-------------------------------------------------- ------- git 的常用命令 --------- 1、查看本地所有分支(前面有*的表示为当前所在分支...status 29、查看当前改动过的文件里面的详细修改内容(未add前):git diff 30、查看某个文件(如one.txt)当前修改过哪里(未add前):git diff one.txt 31、...的代码 34、查看两次提交的不一样的地方:git diff [commit_id] [commit_id] git diff e0f472dd9fc7acb79bb7c73a346723fa3b97422c...按fn+esc退出编辑(每个人的键盘或者快捷键不一样,不一定相同), :wq保存退出 5、安装第三方库:pod install ?
如果没有此选项,则会引用具有“异常”字符的路径名,如配置变量core.quotePath所述(参见 git-config [1] )。 --name-only 仅显示已更改文件的名称。...如果文件模式没有改变,则包括在内;否则,单独的行表示旧模式和新模式。 具有“异常”字符的路径名被引用,如配置变量core.quotePath所述(参见 git-config [1] )。...如果没有此选项,则会引用具有“异常”字符的路径名,如配置变量core.quotePath所述(参见 git-config [1] )。 --name-only 仅显示已更改文件的名称。...如果文件模式没有改变,则包括在内;否则,单独的行表示旧模式和新模式。 具有“异常”字符的路径名被引用,如配置变量core.quotePath所述(参见 git-config [1] )。...如果没有此选项,则会引用具有“异常”字符的路径名,如配置变量core.quotePath所述(参见 git-config [1] )。
工作中常用到c和c++开发,虽然有各种好用的IDE如QTCreater、CLion,还有各种常用的文本编辑工具如vscode,nodepad++,sublineText等,但是还是觉得vim好用。...CLion是很强大,但有点儿太重量级,打开太慢,它比较适合大的工程项目,但有时仅是打开或浏览代码,如记事本般小巧的vim实用。...下面是我常用的一些命令, 放在这里供我备忘: % 跳转到配对的括号去 [[ 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行) gD 跳转到局部变量的定义处hui '...CmdInTmpFile("git diff -- " . g:src_root) else call CmdInTmpFile("git diff -- " . bufname(""))... esc>:set pastemui+esc>mv'uV'v=:set nopaste "在Visual模式中使用Ctrl+c复制内容到全局剪贴板 vnoremap
n个行或者字符 0: 跳转到本行开始 $: 跳转到本行结尾 ^: 跳转到本行第一个非空字符 g_跳转到本行最后一个非空字符串(的使用于g_的区别,还是在使用中普遍) n|: 跳转到本行第n列 fs: focusOn...6.1 ⭐️ 进入输入模式的方法 i: 从光标位置的前面开始输入内容 I: 从光标所在行的第一个非空字符开始输入内容 a: 与i是相对应的,从光标位置的后面开始输入内容 A: 与I是相对应的,从当前行的末尾非空文本后追加文本...使用^匹配行中的第一个字符,$匹配最后一个字符 重复搜索|候选词搜索 //重复上一个搜索/ /up|down:遍历搜索历史 :history /:查看所有历史记录 /s1\|s2:同时搜索字符s1和s2...config merge.tool vimdiff git config merge.conflictstyle diff3 git config mergetool.prompt false 或者通过修改...可以运行任何Git命令 :!git status :!git commit 'add something' :!git diff :!git push origin master :!
git 代码提交 初始化文件夹 git init 添加需要提交的文件 git add ....强行提交本地代码 git pull origin master -f git拉取最新代码并合并到本地代码 1. git pull方式 //查看远程代码版本 git remote -v //更新远程master.....origin/master git merge origin/master //此时可能会进入vim编辑模式,执行vim命令 i 表示编辑新增 esc 切换模式 :wq 报错并推出 //继续执行提交命令...,提交修改的内容 查看仓库变化 git status 查看仓库状态 git diff 查看为提交的修改 git log 查看提交的日志 git log --pretty=oneline...单行显示 方法一: image.png git fetch origin master更新远程仓库文件 git diff master origin/master本地文件和远程仓库文件进行对比 git
'\diff' endif silent execute '!'...tabstop (ts-数值型): 设定文件中制表位占的空格个数,默认是8 :set ts=4 (表示一个插入一个占4个空格位) 2.expandtab (et-布尔型): 插入...,如: 有一个连续"空白序列"是由: 3个空格,两个制表位,5个空格组成,这时设置如下命令 :ret 6 (原来的"空白序列"变为由: 3个制表位,2个空格组成的新的"空白序列") ...: > " 至行首 :cnoremap " 后退一个字符 :cnoremap " 删除光标所在的字符 :cnoremap... " 至行尾 :cnoremap " 前进一个字符 :cnoremap " 取回较新的命令行
-+ | t1 | t2 | t2-t1 | diff1 | diff2 | diff3 | +-------------------...bigint去算了,导致后面那个值变成了负数 4、MySQL的varchar定义长度到底是字节还是字符 UTF8字符集下: SQL>create table test(id int auto_increment...抛开字符,其最大长度为65535字节(这是最大行大小,由所有列共享),而放在不同的字符集下,能够定义的最大长度就会有所不同,如UTF8下是21845。...据说MySQL5中varchar的长度也为字符,而MySQL4中的则为字节,未经证实,感兴趣的有环境可以自己测下。 ...→DISTINCT→ORDER BY→LIMIT (可以理解为 select 需要在所有的非幂等操作执行完了之后才执行,否则 select 出来的结果就会有问题) 因此ON与where的使用一定要注意场所
领取专属 10元无门槛券
手把手带您无忧上云