分类 Edit 下的文章

Ctrl + F 屏幕向下滚动一屏 Ctrl + B 屏幕向上滚动一屏 Ctrl + E 屏幕向下滚动一行 Ctrl + Y 屏幕向上滚动一行 Ctrl + D 屏幕向下滚动半屏 Ctrl + U 屏幕向上滚动半屏

zz 让光标所在的行居屏幕中央 zt 让光标所在的行居屏幕最上一行 t=top zb 让光标所在的行居屏幕最下一行 b=bottom

参考: https://www.jianshu.com/p/626e651b5be9 https://blog.csdn.net/nyist327/article/details/48625385 https://blog.csdn.net/shuningzhang/article/details/37700603

1. 目录

这个是自动生成的,只要在目录的地方添加 [TOC],就会自动生成目录

2. 标题锚点

这个是默认支持的,只要在想要跳转的地方这样写:

[名称](#id)

其中的“名称”可以随便填写,“id”需要填写跳转到的标题的内容。

3. 自定义锚点,比如一个图表之类的。

现在图表这个地方创建锚点:

<span id = "jump">跳转到的位置</span>

然后再需要跳转的地方这样写:

[说明文字](#jump)

说明文字也可以随便填写,只要后面这个 id 能够和 锚点那地方对应上就可以。

参考: https://blog.csdn.net/tearsky253/article/details/78968221#%E5%89%8D%E8%A8%80 https://blog.csdn.net/qq_33530388/article/details/59058061

4. 强制分页符必须使用 html 代码,在需要分页的地方直接插入这个。

<div STYLE="page-break-after: always;"></div>

参考: https://blog.csdn.net/qq_38228254/article/details/90814620

5. 表格使用 | 来实现:

默认标题栏居中,内容靠左

:-  居左
-:  居右
:-: 居中

基本格式如下, - 至少有一个

| 表头 | 表头 | 表头 |
|:-- | :-: | --:|
|居左 | 居中 | 居右|

表格内换行在需要换行的地方使用


<br>
``` 来实现。

参考: http://www.mabiji.com/markdown/markdownbiaoge.html
https://blog.csdn.net/microcosmv/article/details/51868178

1. 基本控制命令

c - v, m - v, c - l, 前滚,后滚,居中或者顶部或者底部 c - p, c - n, 上一行,下一行 c - b, c - f, m - b, m - f, 下一个,上一个, 下一词,上一词 c - a, c - e, m - a, m - e, 行首,行尾,句首,句尾 m - <, m - >, 文首,文尾

c - u 数值 c - v 这样的命令用于重复执行数值次数的命令. 如果重复的是 c-n,那么只是光标下移多少行,如果是 c-v,那么不是翻多少页,而是页面整体滚动多少行。 c - g 停止并取消命令 c-x k 关闭当前的buffer

c-x 1 只保留一个窗口。

删除以下3种 del, c-d, 删除前一个,删除后一个 m-del, m-d, 删除前一个词,删除后一个词语 c-k, m-k, 删除到行尾,删除到句尾

粘贴 c-y, m-y, 粘贴, 粘贴之后的文本选择

c-@ 选中 c-w 剪切 m-w 复制 c-/ 撤销

c-x c-f 打开文件 c-x c-s 保存当前文件 c-x s 保存所有改变了的文件 c-x c-c 退出 emacs c-x c-b 列出所有当前 buffer c-x b 输入 buffer 名字,然后跳转buffer c-z 在命令行界面停止 emacs,然后可以执行其他命令, %emacs 恢复 emacs c-x u 撤销 c-x, m-x, 单个按键命令,命令词命令

m-x 额外命令,输入的时候,输入几个字母后,按空格,会补充命令到 ‘-’ 字符, 按 tab 按键可以补充完整。比如 replace-string, 可以输入 repl 然后空格,再输入 s,然后 tab。

- 阅读剩余部分 -

用习惯了 eclipse的环境后,总是觉得 IAR的编辑弱爆了,一直想外挂一个编辑器上去。 看到 这个帖子以后,仿照步骤一步一步操作即可。 主要改动的地方为 环境变量, IAR_PATH_STM8。

但是 V19的 slickedit 配置工程模板有问题,不能保存,提示: Failed to save project templates to XXX Path not found Make sure the file can be written to.

碰到这个情况,可以把 usrprjtemplates.vpt 放到 C:\Users\Administrator\Documents\My SlickEdit Config\19.0.1 中去,然后重新配置一遍就可以保存了。

首先去 上面的 download 去下载

looking for the latest version? Download mingw-get-setup.exe

然后安装,我安装在 d 盘 安装完成以后,使用 mingw-get 来图形化安装,我选择了全部安装。 安装完成以后,需要修改 WIN 的环境变量 path 和 home 这两项, path 里面增加 D:\MinGW\bin,这个是为了给 eclipse 用的 home 修改为 D:\MinGW,这个是个msys使用的,如果不用msys,这一项不需要。

然后安装 jre,eclipse,注意eclipse 选择 c/c++ 的下载。 eclipse 下载安装以后,在新建项目的时候选择 MinGW 就可以了,项目编译的时候,会自动找到头文件的文件夹。

jlinkgdbserver设置

点击eclipse菜单run–>external tools→external tools configurations. 新建一个jlinkgdbserver

location: /home/ptz/opt/jlink/JLink_Linux_V462a/JLinkGDBServer

如果你使用的是SWD模式,那么下面需要加上这个: arguments: -if SWD

build标签页取消 build before launch

debugger设置 eclipse debug 设置,如果没有 gdb hardware debugging,那么首先要安装这个插件 如果有这个插件,那么 run->debug configurations->gdb hardware debugging 新建一个 main标签页 c/c++ app: 选择生成的调试文件 project: 工程名

debugger 标签页 gdb command: 选择arm-none-eabi-gdb use remote: jtag->tcp/ip, host name:localhost, port number: 2331

startup 标签页 init commands:

monitor flash device = STM32L152VB monitor interface SWD monitor flash download = 1 monitor flash breakpoints = 1 monitor clrbp monitor endian little monitor speed 5 monitor reset monitor sleep 100 monitor speed auto monitor writeu32 0xE000ED08 = 0x00000000

run commands:

monitor reg r13 = (0x00000000) monitor reg pc = (0x00000004) break ResetHandler break main continue

这样就配置完成了,需要调试的时候,首先先运行jlinkgdb,然后在运行debugger就可以了。 不过有需要注意的是jlinkgdbserver不会自己退出,如果需要使用jlinkflash,那么需要手动 kill jlinkgdbserver 这个进程

参考rtthread的网上的配置

点击eclipse菜单run–>external tools→external tools configurations. 新建 jlinkflash location: /home/ptz/opt/jlink/JLink_Linux_V462a/JLinkExe working: ${workspace_loc:/pump-one} arguments:jlinkflash.txt

build 标签页 取消 build before launch

在工程目录下面新建 jlinkflash.txt, 输入 h speed=4800 exec device=stm32l152vb loadbin rtthread.bin 0x08000000 r g qc

http://blog.163.com/lgh_2002/blog/static/4401752620108923318287/ let g:DoxygenToolkit_authorName="" let s:licenseTag = "Copyright(C)\" let s:licenseTag = s:licenseTag . "For free\" let s:licenseTag = s:licenseTag . "All right reserved\" let g:DoxygenToolkit_licenseTag = s:licenseTag let g:DoxygenToolkit_briefTag_funcName="yes" let g:doxygen_enhanced_color=1

let g:DoxygenToolkit_briefTag_pre="@Synopsis " let g:DoxygenToolkit_paramTag_pre="@Param " let g:DoxygenToolkit_returnTag="@Returns " let g:DoxygenToolkit_blockHeader="--------------------------------------------------------------------------" let g:DoxygenToolkit_blockFooter="----------------------------------------------------------------------------" let g:DoxygenToolkit_authorName="Mathias Lorente" let g:DoxygenToolkit_licenseTag="My own license" let g:DoxygenToolkit_authorName="drunkedcat, whitelilis@gmail.com" let s:licenseTag = "Copyright(C)\" let s:licenseTag = s:licenseTag . "For free\" let s:licenseTag = s:licenseTag . "All right reserved\" let g:DoxygenToolkit_licenseTag = s:licenseTag let g:DoxygenToolkit_briefTag_funcName="yes" let g:doxygen_enhanced_color=1

使用DoxLic、DoxAuthor、Dox命令自动生成,注释的样式和文字完全可配置.

今天想弄一下VIM的函数高亮,结果搞了一个下午,才终于搞定。

首先是按照下面这个网址写了一个 ~/.vim/syntax/c.vim

http://blog.csdn.net/wooin/article/details/1858917 "======================================================== " Highlight All Function "======================================================== syn match cFunction "/<[a-zA-Z_][a-zA-Z0-9]/>[^()])("me=e-2 syn match cFunction "/<[a-zA-Z][a-zA-Z_0-9]/>/s("me=e-1 hi cFunction gui=NONE guifg=#B5A1FF

"======================================================== " Highlight All Math Operator "======================================================== " C math operators syn match cMathOperator display "[-+/*/%=]" " C pointer operators syn match cPointerOperator display "->/|/." " C logical operators - boolean results syn match cLogicalOperator display "[!<>]=/=" syn match cLogicalOperator display "==" " C bit operators syn match cBinaryOperator display "/(&/||/|/^/|<>/)=/=" syn match cBinaryOperator display "/~" syn match cBinaryOperatorError display "/~=" " More C logical operators - highlight in preference to binary syn match cLogicalOperator display "&&/|||" syn match cLogicalOperatorError display "/(&&/|||/)="

" Math Operator hi cMathOperator guifg=#3EFFE2 hi cPointerOperator guifg=#3EFFE2 hi cLogicalOperator guifg=#3EFFE2 hi cBinaryOperator guifg=#3EFFE2 hi cBinaryOperatorError guifg=#3EFFE2 hi cLogicalOperator guifg=#3EFFE2 hi cLogicalOperatorError guifg=#3EFFE2

但是非常悲剧的是这个用起来没有作用而且还报错。结果在下面的评论中才发现原来所有的 '/' 都

应该是 '\'。

按照下面这个网址改了一下,但是还是悲剧。虽然不报错了,但是函数还是没有高亮。

http://www.cppblog.com/besterChen/archive/2010/02/21/108124.aspx

然后找到另外一个网址,内容如下:

"highlight Functions syn match cFuntions display "[a-zA-Z_]{-1,}\s{-0,}({1}"ms=s,me=e-1 hi def link cFuntions Title 就是先定义一个语法匹配,然后将匹配的高亮设为Title(深红色的函数高亮,很像Visual Asist)。当然也可以设为其他的高亮定义,自己定义颜色也行。

使用下面的命令来获得颜色组的完整列表:

so $VIMRUNTIME/syntax/hitest.vim

我把颜色的那一句改为hi def link cFuntions Title,终于有变化了,这个原因我继续向下找。

在下面这个网址我找到了部分线索。

首先使用VIM和VI的非兼容模式,在~/.vimrc中使用 set cp

然后打开一个 c文件
set cp?

就可以知道现在是否兼容.

然后在 ~/.vimrc 中加入下面的内容 代码: nnoremap :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"

这个是解除 ctrl+h 绑定 光标左移的功能

目的是为了确认到底是没有成功设置颜色组还是没有成功设置颜色。
代码:
set ft

确认文件类型是 c 或者 cpp,然后把光标移到应该高亮但没有高亮的地方按下 Ctrl-H,看看能不能显示出你自己定义的高亮组名。

经过检查发现我是成功绑定了组,但就是不能成功高亮。

在下面的网址中,我得到了关键线索

Vim中对颜色(包括字体等其他样式)的设置是用hightlight命令,可简写为hi。例如对函数名的设置:

highlight Function cterm=bold,underline ctermbg=red ctermfg=green

这条命令可使函数名的字体改为粗体/有下划线/绿色/红色背景。除了Function关键字,还有String/Number/Float/Label,还有针对某门编程语言的关键字如:phpFunctions/phpType/phpFloat等。

这下就搞明白了。我是在字符界面使用vim的,cterm 这个不就是字符终端的意思么。 那么可以推测 gui 是在窗口界面下使用vim 或则 gvim 才能起作用的。

下面这个命令让我确定了我的想法。

官方原版的设置既有cterm 也有 gui。

  1. 查看所有的已有设置

直接执行highlight命令即可,不带任何参数。

下面是一些标签页的设置

1) 对tab标签样式的设置

每种主题都会有美中不足,比如我一直喜欢用的torte,它的默认样式下tab标签是黑底白字有下划线,选中状态为无下划线,看起来非常费眼睛。我进行了如下设置:

highlight TabLine term=underline cterm=bold ctermfg=9 ctermbg=4 highlight TabLineSel term=bold cterm=bold ctermbg=Red ctermfg=yellow

这里涉及到两个标签:TabLine(普通标签样式)/TabLineSel(选中状态标签的样式)。

(2) 对自动补全提示样式的设置

我使用的提示插件是。

highlight Pmenu ctermbg=darkred highlight PmenuSel ctermbg=red ctermfg=yellow

但是这样还是有些问题,我继续寻找,终于在另外一个老外的网页上面发现了,自己新建的最好放在

~/.vim/after/syntax/c/fun.vim

after 意思是在加载完原来的设置的基础上,在加载下面的设置

c C语言的设置,打开C相关的文件的时候会加载这个文件目录下面的设置

这里是我最终修改好的设置

可以完美实现我的需要

"==================================================== " Highlight All Function " =================================================== syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]>[^()])("me=e-2

syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]>\s("me=e-1

hi cFunction cterm=bold ctermfg=blue

"=================================================== " Highlight All Class Name " ================================================== syn match cClassName "\<[a-zA-Z_][a-zA-Z_0-9]>\:"me=e-1 hi cClassName cterm=bold ctermfg=yellow

"==================================================== " Highlight All Math Operator " =================================================== " c math operators syn match cMathOperator display "[-+*\%=]"

" c opinter operators syn match cPointerOperator display "->|.|\:\:"

" c logical operators - boolean results syn match cLogicalOperator display "[!<>]=\=" syn match cLogicalOperator display "=="

" c bit operators syn match cBinaryOperator display "(&|||\^|<<|>>)=\="

syn match cBinaryOperator display "\~"

syn match cBinaryOperatorError display "\~="

" More c logical operators - highlight in preference to binary syn match cLogicalOperator display "&&|||"

syn match cLogicalOperatorError display "(&&|||)="

" more c priority operators -highlight in preference to binary syn match cPriorityOpreator display "(|)|[|]|{|}"

" match operator hi cMathOperator ctermfg=blue

hi cPointerOperator ctermfg=red

hi cLogicalOperator ctermfg=yellow

hi cBinaryOperator ctermfg=5

hi cBinaryOperatorError ctermfg=red

hi cLogicalOperator ctermfg=yellow

hi cLogicalOperatorError ctermfg=yellow

hi cPriorityOpreator ctermfg=6