分享好友 最新动态首页 最新动态分类 切换频道
emby必须要安装的插件 emby使用方法
2024-12-25 13:39


emby必须要安装的插件 emby使用方法

C-f 光标前进一个字符 C-b 光标后退一个字符 C-p 上移一行 C-n 下移一行 M-f 前进一个单词 M-b 后退一个单词 C-a 行首 C-e 行尾 M-a 句首 M-e 句尾 M-{ 上一个段落 M-} 下一个段落 C-v 屏幕上卷一个屏 M-v 屏幕下卷一个屏 C-M-v 另一个窗口下卷一个屏幕 C-M-V 另一个窗口上卷一个屏幕 M-< 文件头 M-> 文件尾 C-u n 或 M-n 重复执行n次后继命令


Emacs中的删除


C-d 删除光标上的字符 DEL 删除光标前的字符 M-d 删除光标后的单词 M-DEL 删除光标前的单词 C-k 从光标位置删除到行尾 C-S-Backspace 删除当前行 C-y 恢复删除最近的一个 M-y 循环恢复删除上一个


文本块操作


C-@ 标记文本块的开始 C-x C-x 互换插入点和文本标记的位置 M-h 标记整个段落 C-x C-p 标记整个页面 C-x h 标记整个缓冲区


查找与替换

简单查找替换


C-s 向前递增查找 C-r 反向递增查找 C-s C-w 向前递增查找,把光标所在的单词作为查找对象 C-r C-w 反向递增查找,把光标所在的单词作为查找对象 replace-string 查找替换光标后所有的内容 M-% 查询替换操作


对于M-%,需要注意的是其相关的一些操作:


SPACE或y 用新字符串替换原来的,并进入下一个位置 DEL或n 不替换,进入下一个位置 . 在当前位置做替换后退出查询-替换操作 , 替换,并显示替换情况(再按空格或y进入下一个位置) ! 对后面的内容全部进行替换,不再提问 ^ 返回上一个替换了的位置 RETURN或q 退出查询替换操作 C-r 进入递归编辑状态 C-w 删除此处内容并进入递归编辑状态(好进行其他修改) M-C-c 退出递归编辑状态,继续完成查询-替换操作 C-] 退出递归编辑状态和查询替换操作


正则表达式查找与替换


C-M-s Return 向前查找正则表达式 C-M-r Return 反向查找正则表达式 C-M-s 向前递归查找正则表达式 C-M-r 反向递归查找正则表达式 query-replace-regexp 查询-替换正则表达式 replace-regexp 无条件替换正则表达式(慎用)


正则表达式中的字符:


^ 匹配行首 $ 匹配行尾 . 匹配任意单个字符 .* 匹配任意个字符 /< 匹配单词的开头 /> 匹配单词的结尾 [] 匹配[]中的任何一个字符,如[a-z]匹配任何一个小写字母


指定为C++模式的方法

一般根据扩展名自动设定,不用指定,不过有时候你希望.h文件是C++模式的(缺省是C模式),在文件第一行(或其末尾)上加入


// -*- C++ -*-


语法高亮

不是C模式专有,顺便提一下,M-x global-font-lock-mode RET 或在.emacs中加入(global-font-lock-mode t)。在console下,Emacs21才支持语法高亮。(语法高亮,不同关键字用不同的颜色来突出)

编译和调试


M-x compile RET 编译 M-x gdb RET 调试 C-x ` (出错信息中)下一个错误,一个窗口显示错误信息,另一个 显示源码的出错位置 C-u C-x ` 在compile buffer 列出同样的错误。 C-c C-c 转到出错位置


启动gdb调试器后,光标在源码文件缓冲区中时:


C-x SPC 在当前行设置断点 C-c C-c 中断 C-c C-z 中止 C-x C-a C-s step C-x C-a C-n next C-x C-a C-t tbreak C-x C-a C-r continue C-x C-a C-d 删除当前断点 C-x C-a C-l 到达最后一行


 

显示vector元素值

GDB 在调用成员函数的时候需要首先找到函数的代码才能执行。如果一个成员函数是内联的、并且没有在程序中被使用,那么 GDB 将找不到其代码,也就不能执行此成员函数。

 


方法1 在源程序的查看之前的位置使用一次 at() 成员函数。 方法2 执行 print vec_obj 可以列出 vector 的内部数据结构,使用这些结构也可以查看各个元素。 假设列出了如下内容: $1 = {<std::_Vector_base<int,std::allocator<int> >> = { _M_impl = {<std::allocator<int>> = {<__gnu_cxx::new_allocator<int>> = {<No data fields>}, < No data fields>}, _M_start = 0x8095040, _M_finish = 0x809505c, _M_end_of_storage = 0x8095060}}, <No data fields>} 可以这样查看第一个元素:print vec_obj._M_impl._M_start[0] 为方便使用,可以定义一个宏来使用: define print_vector print $arg0._M_impl._M_start[$arg1] end 这样,print_vector vec_obj 2 就可查看第三个元素。


在C/C++代码中操作


M-a 移动到当前语句的开始 M-e 移动到当前语句的末尾 C-M-a 移动到当前函数的开始 C-M-e 移动到当前函数的结尾 M-q 若光标在注释文本中间,则进行段落重排,保留缩进和前导字符 C-M-h 把光标放在当前函数开头,把文本块标记放在函数结尾, 即把函数整个选作为一个文本块。 C-c C-q 对整个函数进行缩进 C-x h 选定整个buffer, 然后C-M-/可以对代码进行重新排版 C-c C-u 移动到当前预处理条件的开始位置 C-c C-p 移动到上一个预处理条件 C-c C-n 移动到下一个预处理条件 M-; 对当前行进行注释 C-x C-x 快速返回移动前的光标位置 C-c C-c 对一块代码进行注释;取消注释用命令 uncomment-region


子模式


auto-state 当你输入时自动缩进,自动换行 hungry-state 当你Backspace时,自动删除尽可能多的空白和空行 C-c C-t 同时转换(开/关)auto-state和hungry-state子模式 C-c C-a 转换 auto-state 子模式 C-c C-d 转换 hungry-state 子模式 C-c . 设置缩进风格(按TAB键可列出可用的风格,缺省的为gnu,其 缩进为2个字符;linux为8个;k&r为5个…) TAB 重新缩进当前行 M-/ 自动补齐(缓冲区中能找得到的串) M-; 行尾加入注释 C-c C-e 扩展宏 C-c C-c 注释掉整个区域 C-c C-/ 将区域中的每一行结尾都加入一个'/'字符


在多个文件中逛的时候,我们常常需要快速切换到先前访问的某个位置。因此,我们需要把文件及其光标位置暂时存放在某个地方。

在Emacs中,我们可以使用register暂时性保存这些信息。

将当前光标所在位置保存入一个register中:


C-x r SPACE + register名(一个字符,比如a吧)


然后我们就可以到处瞎逛,若要回到保存的register a位置,我们可以输入:


C-x r j a


挺好用的吧:)

如果你记性和我一样不好,恐怕会常常想看看自己保存了哪些register,我们可以输入:


M-x view-register 查看某一个register M-x list-registers 查看所有的register


其实我常用的就是以上功能,为了使笔记稍微完整一点,下面开始Copy 《GNU Emacs Manual》的相关章节:

在下面,我们使用r来命名所有的register:

Save Positions in Registers


C-x r SPC r Save position of point in register r (point-to-register). C-x r j r Jump to the position saved in register r (jump-to-register).


Saving Text in Registers


C-x r s r Copy region into register r (copy-to-register). C-x r i r Insert text from register r (insert-register). M-x append-to-register RET r Append region to text in register r. M-x prepend-to-register RET r Prepend region to text in register r.


Saving Rectangles in Registers


C-x r r r Copy the region-rectangle into register r (copy-rectangle-to-register). With numeric argument, delete it as well. C-x r i r Insert the rectangle stored in register r (if it contains a rectangle) (insert-register).


Saving Window Configurations in Registers


C-x r w r Save the state of the selected frame's windows in register r (window-configuration-to-register). C-x r f r Save the state of all frames, including all their windows, in register r (frame-configuration-to-register).


Keeping Numbers in Registers


最新文章
成人网站免费入口如何找到?探索隐藏入口的安全与隐患!
对于一些****来说,提供免费的访问入口是一种吸引更多用户的方式。通过提供免费入口,网站能够获得更多的流量,并有可能通过广告、会员制度等方式盈利。免费入口往往会限制部分功能或内容的访问,只有付费用户才能完全享受网站的服务,但这
MVP榜单更新:库里跃升至第五,KD与浓眉并列第十,约基奇继续领跑
随着火箭成功战胜勇士,NBA杯赛的四分之一决赛渐渐落下帷幕,东部和西部的老鹰、雄鹿、雷霆以及火箭四支队伍已经挺进到了半决赛的赛场。而在这个激动人心的时刻,美媒对当前的MVP榜单进行了刷新,为球迷们揭示了诸多令人关注的变化。随着各
免费的亚马逊关键词工具有哪些?怎么选词?
在写亚马逊标题和进行产品推广的时候,需要选择合适的关键词,所以对于运营同学来说,可以通过一些工具来选择更加合适的关键词,今天介绍几个免费的亚马逊关键词工具!1、Google关键词规划师Google广告关键词规划师可用于构建Google AdWord
沈阳性价比之王,企业互联网飞跃的低价网站优化推广服务
沈阳低价网站优化推广服务,性价比高,助力企业快速提升网络曝光,实现互联网快速发展。沈阳低成本网站优化推广的优势沈阳低成本网站优化推广的执行步骤沈阳低成本网站优化推广的关键要点在泛滥的当下,企业若想在激烈的市场竞争中独树一帜
外贸独立站运行规则是什么
本文目录fp独立站是什么外贸独立站用什么收款个人怎么做好外贸独立站外贸soho如何建独立站做跨境独立站可以在乡下做吗fp独立站也就是外贸型销售网站。fp独立站算是术语,通常银行人员用的比较多。其实很简单,意思就是给网站或者app接入
如何使用手机轻松翻越网络屏障-访问国外网站
网络是一个自由、开放的平台,人们可以在上面获取和分享各种信息。然而,由于各种原因,一些国外网站可能无法被访问,尤其是存在网络限制的情况下。在大多数情况下,使用非法的手段翻越网络屏障并访问国外网站是不被允许的,而且可能会导致
如何使用AI智能软件制作PPT? ai自动生成ppt工具推荐
在数字化和智能化的今天,AI技术已经渗透到我们工作和生活的各个方面。其中,AI智能软件在PPT制作方面的应用,不仅极大地提高了制作效率,而且能够产生更具创意和个性化的展示内容。那么,如何使用AI智能软件制作PPT呢?本文将为你介绍AI工
公众号行业排行榜
排行公众号预估粉丝头条平均阅读次条平均阅读日发文数操作dushetv1801432100000+370904iiirenwu177408796548435322DSliupiaopiao158435686436暂无1the3design93357100000+暂无1xineuro323772100000+11576soyoung1111397456100000+暂无5mist
SEO与SEM的区别及应用场景解析
在数字营销的领域,SEO(搜索引擎优化)和SEM(搜索引擎营销)是两种常见且重要的推广方式。它们的目标都是提升网站的曝光度和流量,但实现的方式不同。SEO主要依赖于优化网站内容和结构,以提高搜索引擎自然排名,而SEM则通过付费广告方式
SEO网站排名优化价格—如何以合理的成本提升网站流量和转化率
企业对SEO的目标设定和优化的范围也是价格差异的重要原因。例如,有些企业只希望通过SEO提升某个特定关键词的排名,而有些企业则希望通过综合SEO提升整个网站的流量和曝光度。这种目标的差异直接决定了SEO服务的工作量和费用。如果需要全面
相关文章
推荐文章
发表评论
0评