|
|
第1行: |
第1行: |
− | | + | =install= |
− | | + | ==elk download== |
− | ==安装emacs==
| |
− | [[How to Compile Emacs on Linux]]
| |
− | | |
− | [http://soft.dog/2018/07/23/emacs-lisp/ Emacs Lisp]
| |
− | | |
− | == 正文==
| |
− | https://www.emacswiki.org/emacs?interface=zh-cn
| |
− | | |
− | [https://blog.csdn.net/wdkirchhoff/article/details/41623161 生活在Emacs中]
| |
− | | |
− | == 成为高手笔记==
| |
− | <pre>即使你不打算使用 Emacs 默认快捷键, 这步也是必须的, 不要跳过!
| |
− | | |
− | 最起码要知道以下命令,
| |
− | | |
− | M-x describe-variable, 快捷键 C-h v, 查看变量的文档
| |
− | M-x describe-function, 快捷键 C-h f, 查看命令的文档
| |
− | M-x describe-key, 快捷键 C-h k, 查看快捷键的文档
| |
− | | |
− | | |
− | Emacs manual C-h r Browse manuals C-h i
| |
− | Emacs tutorial C-h t Undo changes C-x u
| |
− | Buy manuals C-h RET Exit Emacs C-x C-c
| |
− | | |
− | | |
− | </pre>
| |
− | | |
− | | |
− | 以实际问题作为切入点
| |
− | | |
− | 努力能很快得到回报, 你会越学越有乐趣, 进入感情上的正反馈.
| |
− | | |
− | 要成为高手, 兴趣是最重要的.
| |
− | | |
− | 以我为例, 我急需 GTD 的工具, 而 Emacs 的 Org-mode 是同类软件中最好的 (没有之一). 用 Org-mode 节省了时间后, 我对 Emacs 爱屋及乌, 兴趣高涨了 100 倍.
| |
− | | |
− | 反面例子是啃Lisp教程开始Emacs之旅, 坚持下来的人寥寥无几.
| |
− | | |
− | 待解决的问题设定优先度 关键在于理性地考虑你最迫切需要解决的一个问题.以这个问题作为出发点, 除此之外都可以妥协.
| |
− | | |
− | 虽然 Emacs 无所不能, 但是饭也要一口一口吃. 有时退一步等于进两步.
| |
− | | |
− | 例如, 我一直以为 Emacs 的中文显示很完美, 搞不懂为什么有人在字体配置上花那么多时间.
| |
− | | |
− | 在接到读者反馈后, 我才明白原来我一直在终端下使用Emacs, 终端软件可以完美显示中文字体, 所以就没 Emacs 什么事了. 需要配置字体的人用的是图形界面 Emacs.
| |
− | | |
− | 当初只在终端下使用 Emacs 是因为需连接到远程服务器. 我认为这是重点. 甚至为此放弃了漂亮的配色主题 (后来发觉此牺牲毫无必要). 塞翁失马, 由此也避免了图形界面版本的所有问题.
| |
− | | |
− | https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/guide-zh.org
| |
− | | |
− | ==后记==
| |
− | <span style="color:green;">后面要把常用的这些常用快捷键写成一个短小的总结卡</span>
| |
− | === 模式键定义===
| |
− | | |
− | 四个模式键:C—-Ctrl;M—-Alt;s—-Super(Win);S—-Shift
| |
− | | |
− | 比如:
| |
− | | |
− | C-x:表示按下ctrl键,然后按下x键。
| |
− | | |
− | C-x C-c:表示按下ctrl,然后按下x键,松开后再按下c键。
| |
− | | |
− | C-x k:表示按下ctrl,同时按下x和k键。
| |
− | | |
− | | |
− | === 最常用命令 页开头或结尾===
| |
− | | |
− | <span style="color:red;">M-f 与 M-b </span> 在行内, 前后大步移动光标,步进单位对于英文而言是单词的长度,对于中文而言是两个标点符号的间距。
| |
− | | |
− | <span style="color:red;">M-{ M-} </span> 段开头或结尾
| |
− | | |
− | <span style="color:red;">C-x [ C-x ] or ESC < ESC > </span>页开头或结尾
| |
− | | |
− | <span style="color:red;">C-a 或 C-e </span> 对于英文文本,若将光标快速移到行首或行尾,标准按键是 C-a 或 C-e 但是对于中文而言,这对按键有着将光标被移到段首或段尾的奇异效果……如果偶尔忘记,用 Home或End 键也未尝不可。
| |
− | | |
− | <span style="color:red;">M-a 与 M-e </span> 则分别可将光标移动到句首或句尾。
| |
− | | |
− | <span style="color:red;"> C-v 或 M-v <span> 如果文档很长,用可实现向下或向上翻屏
| |
− | | |
− | M-< ,移到最开始。
| |
− | 然后再按几次 C-v 回到这里。
| |
− | | |
− | M-> ,移到最末尾。
| |
− | 然后再按几次 M-v 回到这里。
| |
− | | |
− | C-x 2 将屏幕划分成两个窗格。这两个窗格里显示的都是本篇快速指南,而光标则停留在上方的窗格里。
| |
− | | |
− | C-x o(“o”指的是“其它(other)”), 将光标转移到下方的窗格。
| |
− | | |
− | C-x 1 (在上方窗格里)输入 C-x 1 关掉下方窗格。
| |
− | | |
− | C-x C-f 寻找文件。
| |
− | C-x C-s 保存文件。
| |
− | | |
− | 打开菜单 用F10或者M-` (就是键盘输入区左上角的那个键)就可以呼出菜单了
| |
− | | |
− | emacs-gtk 显示菜单 etc option -->show/hide 这样在 emacs-gtk 就有菜单了 而em还是没有的 非常 好
| |
− | | |
− | ==== 搜索 ====
| |
− | 增量搜索
| |
− | C-s 正向搜索
| |
− | | |
− | C-r 反向搜索
| |
− | | |
− | C-M-s使用正则表达式正向搜索
| |
− | | |
− | C-M-r 使用正则表达式反向搜索
| |
− | | |
− | M-p 选择上一个搜索结果
| |
− | | |
− | M-n 选择下一个搜索结果
| |
− | | |
− | RET 退出搜索并停留在当前搜索到的位置
| |
− | | |
− | C-g 中止当前搜索
| |
− | | |
− | ===save and exit ===
| |
− | <pre>
| |
− | C-x C-c:退出Emacs
| |
− | | |
− | C-x C-s:保存当前buffer
| |
− | </pre>
| |
− | | |
− | ===命令的中止和 销===
| |
| <pre> | | <pre> |
− | C-g keyboard-quit 放弃当前命令
| + | wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz |
− | C-x u advertise-undo undo上一次 可多次用
| |
| | | |
| + | https://artifacts.elastic.co/downloads/kibana/kibana-6.4.2-linux-x86_64.tar.gz |
| | | |
| + | https://artifacts.elastic.co/downloads/logstash/logstash-6.4.2.tar.gz |
| </pre> | | </pre> |
− | | + | ==二进制包 == |
− | ===选中 复制 黏贴=== | + | ===jdk ins=== |
| + | ==== RPM ==== |
| <pre> | | <pre> |
− | 把光标移动到区域的首字符
| + | #set java environment 如果是rpm安装 |
− | 键入C-@(即ctrl+shift+2),以设置标记 有时是ctrl+shife +@
| + | JAVA_HOME=/usr/java/jdk1.8.0_121 |
− | 把光标移动到区域的最后一个字符
| + | JRE_HOME=/usr/java/jdk1.8.0_121/jre |
− | 键入M(alt)-w,拷贝这个选定区域到粘贴板(剪切是C-w)
| + | CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib |
− | 用光标定位将要粘贴内容的地方,然后键入C-y ,拷贝成功。
| + | PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin |
| + | export JAVA_HOME JRE_HOME CLASS_PATH PATH |
| | | |
− | C-@ mark --> c-f or c-n --> alt-w --> c-y
| |
− |
| |
− | C-w 剪切标记到当前光标所在处的文本 ESC w 复制文本
| |
− |
| |
− | C-d 删除一个字符
| |
− | ESC h 选中一个段落
| |
− |
| |
− | C-x C-x 检查一下位置
| |
− | C-w 删除文本块
| |
| </pre> | | </pre> |
− | ===文本块的选取和粘贴 ===
| |
− | <pre>
| |
− | C-w 删除文本块
| |
− | C-y yank 粘贴
| |
− | ESC W or C-INSERT 复制文本块
| |
− | ESC h 标记段落
| |
− | C-x C-p 标记页面 mark-page
| |
− | C-x h 标记整个缓冲区
| |
− | ESC y 在用过C-y 命令以后粘贴更早删除的文本
| |
− | C-X u 反选 其实就是undo
| |
− | </pre>
| |
− |
| |
− | ===交换位置===
| |
− | 字符交换 光标在第二个字符上 C-t
| |
− |
| |
− | 文本交换 光标在两个单词之间 ESC t
| |
− |
| |
− | 交换两个文本行 光标在第二个文本行的任意位置 C-x C-t
| |
− |
| |
− | ===改变大小写 ===
| |
− |
| |
− | 第一个字母改为大写 capialize ESC c
| |
− | 全部改为大写 upcase ESC u
| |
− | 全改为小写 ESC l (不是 sn 1) 如果在单词中间 可以把前半部分改为小写
| |
− |
| |
− | 加ESC - 再加上面的命令 只对 光标之前的操作
| |
− |
| |
− | ===文本改写模式===
| |
− | 文本改写模式
| |
− | insert overwrite mode 不要时 为 ESC x overwrite-mode RETURN
| |
− | 可用自动补足功能啦 不用全打 tab
| |
− |
| |
− | 文件内容取代缓冲区
| |
− | ESC x revert-buffer RETURN
| |
− |
| |
− | ===查找===
| |
− | <pre>
| |
− | 搜索/替换(Seach/Replace)
| |
− | C-s 向后搜索
| |
− | C-r 向前搜索</pre>
| |
| | | |
− | [https://www.zhihu.com/question/23456580 GNU emacs24 中如何剪切复制多行文本]
| + | ==== tar.gz==== |
| | | |
− | ===替换=== | + | ====tomcat 自带 ==== |
| <pre> | | <pre> |
− | 按M - %启动查找替换(M is alt on debian),输入要被替换的词,回车,然后输入要替换的词,再回车。
| + | yum install tomcat -y #这些比较懒 这样自动上了openjdk |
− | 被替换的词会高亮起来,这时,输入y替换并跳到下一个,输入n忽略并跳到下一个,输入q结束,输入!替换剩下的全部。
| |
| | | |
− | 一些常用的选项:
| + | [root@localhost ~]# java -version |
− | C - g 中断查找替换过程。
| + | openjdk version "1.8.0_212" |
− | ^ 返回上一个替换点,按y继续下一个,如果不想替换上一个的话,用^返回到上一个,然后按 C - r 进入编辑,修改完后按C - M - c退出继续下一个。
| + | OpenJDK Runtime Environment (build 1.8.0_212-b04) |
− | C - l 使当前匹配显示在文档中间。
| + | OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode) |
− | C - r 进入修改。
| |
| </pre> | | </pre> |
− | [https://www.cnblogs.com/robertzml/archive/2010/03/03/1675870.html 学习Emacs系列教程(八):查找替换]
| |
| | | |
− | [https://www.cnblogs.com/skyhacker/archive/2012/01/03/2311437.html emacs查找替换]
| + | ===elasticsearch ins=== |
− | | |
− | ===DEL=== | |
| <pre> | | <pre> |
| | | |
− | C-d 是对字符操作
| |
− | ESC d 对单词操作
| |
− |
| |
− | ESC D 删除光标后面的单词; ESC DEL
| |
− | C-k ;
| |
− | ESC K 删除光标后面的句子;C-k del 删除光标前面的句子
| |
− |
| |
− | </pre>
| |
− | ===移动 ===
| |
− | <pre>
| |
| | | |
− | M-< 到文件开头
| + | tar xvf elasticsearch-6.4.3.tar.gz |
− | M-> esc ->shift+> 到文件末尾
| + | mv elasticsearch-6.4.3/ /usr/local/elasticsearch/ |
| | | |
| | | |
| + | vim elasticsearch.yml 修改配置文件,在最下面加入如下几行 |
| | | |
− | 以下命令在翻页浏览时相当有用:
| + | network.host: 0.0.0.0 |
| + | http.port: 9200 |
| + | http.cors.enabled: true |
| + | http.cors.allow-origin: "*" |
| | | |
− | C-v 向前移动一屏
| + | 注意,root用户是不能直接启动elasticsearch的,需要新建用户,然后切换用户去启动elasticsearch,如下: |
− | M-v 向后移动一屏
| + | 创建elsearch用户组及elsearch用户 |
− | C-l 重绘屏幕,并将光标所在行置于屏幕的中央
| |
− | (注意是 CONTROL-L,不是 CONTROL-1)
| |
| | | |
| + | groupadd elsearch |
| + | useradd elsearch -g elsearch -p elasticsearch |
| | | |
− | 整屏的移动很有用,但是如何在文字中精确定位呢?
| + | 更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch |
| + | chown -R elsearch:elsearch |
| | | |
− | 有几种方式可以选择。用方向键当然可以,不过更有效率的方法是保持双手位于
| + | 切换到elsearch用户再启动 |
− | 主键盘区,然后使用 C-p 、 C-b 、 C-f 和 C-n 这四个命令。它们的功能和方
| |
− | 向键是一样的,如下图所示:
| |
| | | |
− | 上一行 C-p
| + | su elsearch |
− | :
| + | cd elasticsearch/bin |
− | :
| + | bash elasticsearch & |
− | 向左移 C-b .... 目前光标位置 .... 向右移 C-f
| |
− | :
| |
− | :
| |
− | 下一行 C-n
| |
− | p-previous,n-next,b-backward,f-forward。
| |
− | >> 用 C-n 或 C-p 将光标移到上图的中央。
| |
− | 按 C-l,整幅图会被显示在屏幕的中央。
| |
| | | |
| + | systemctl stop firewalld |
| + | systemctl disable firewalld |
| | | |
| | | |
− | 移动的单位 向后 向前
| |
− | 字符 C-b C-f
| |
| | | |
| + | 配置管理 |
| + | Elasticsearch一般不需额外配置,但是为了提高Elasticsearch性能可以通过elasticsearch.yml文件修改配置参数。当然,也可以根据用户系统配置降低配置参数,如jvm.heapsize。Elasticsearch默认占用2G内存,对于系统配置较低的服务器,很可能带来负载过大的问题,因此需要适当减少jvm.heapsize |
| | | |
| | | |
− | 当前行开头或结尾 C-a C-e
| + | </pre> |
| | | |
− | C-n | + | === nginx ins=== |
| + | <pre> |
| + | vi /etc/yum.repos.d/nginx.repo |
| + | [nginx] |
| + | name=nginx repo |
| + | baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ |
| + | gpgcheck=0 |
| + | enabled=1 |
| | | |
− | M-f 如果你嫌一个字符一个字符地挪光标太慢,你还可以一个词一个词地跳。M-f
| + | yum install nginx -y #或者你用 yum install epel-release |
− | (META-f) 可以将光标往前移动一个词,而 M-b 则是往后移。【这里的“词”指
| |
− | 英文单词,对中文来说,则是指移动到下一个标点符号。】
| |
| | | |
− | 类似的惯例在“行”与“句子”之间也同样适用:C-a 和 C-e 可以将光标移动到
| |
− | “一行”的头部和尾部;而 M-a(和terminator冲突) 和 M-e 则将光标移动到“一句”的头部和尾部。
| |
| | | |
| | | |
− | 这里对简单的光标移动命令做一个总结,其中也包括了整词和整句的移动:
| |
| | | |
− | C-f 向右移动一个字符
| + | vi /etc/nginx/nginx.conf#修改nginx的日志默认输出格式 |
− | C-b 向左移动一个字符
| + | log_format json '{"@timestamp":"$time_iso8601",' |
| + | '"@version":"1",' |
| + | '"client":"$remote_addr",' |
| + | '"url":"$uri",' |
| + | '"status":"$status",' |
| + | '"domian":"$host",' |
| + | '"host":"$server_addr",' |
| + | '"size":"$body_bytes_sent",' |
| + | '"responsetime":"$request_time",' |
| + | '"referer":"$http_referer",' |
| + | '"ua":"$http_user_agent"' |
| + | '}'; |
| + | #access_log /opt/access.log json; |
| + | access_log /var/log/nginx/access.log json; |
| | | |
− | M-f 向右移动一个词【对中文是移动到下一个标点符号】
| |
− | M-b 向左移动一个词【对中文是移动到上一个标点符号】
| |
| | | |
− | C-n 移动到下一行
| |
− | C-p 移动到上一行
| |
| | | |
− | C-a 移动到行首
| |
− | C-e 移动到行尾
| |
| | | |
− | M-a 移动到句首
| + | </pre> |
− | M-e 移动到句尾
| + | https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-7 |
| | | |
| + | https://www.cyberciti.biz/faq/how-to-install-and-use-nginx-on-centos-7-rhel-7/ |
| | | |
| + | ===Kibana === |
| + | ====install==== |
| + | <pre> |
| | | |
− | 这里还要介绍两个重要的光标移动命令:M-< (META 小于号)可以将光标移动到
| + | #kibana主要是搜索elasticsearch的数据,并进行数据可视化的展现,新版使用nodejs |
− | 所有文字的最开头;M-> (META 大于号)可以将光标移动到所有文字的最末尾。
| + | * kibana配置启动 |
| + | [root@localhost kibana]# pwd |
| + | /usr/local/kibana |
| | | |
− | 注意,在大部分键盘上,小于号(<)需要用上档键(Shift)来输入,所以在这
| + | vim config/kibana.yml |
− | 些键盘上你应该用 Shift 键来输入 M-<,如果不按 Shift 键,你输入的会是
| |
− | M-comma(META 逗号)。
| |
| | | |
− | >> 试一试 M-< ,移到本快速指南的最开始。
| + | server.port: 5601 |
− | 然后再按几次 C-v 回到这里。
| + | server.host: "0.0.0.0" |
| + | elasticsearch.url: "http://localhost:9200" |
| + | kibana.index: ".kibana" |
| | | |
− | >> 试一试 M-> ,移到本快速指南的最末尾。
| + | cd bin/ |
− | 然后再按几次 M-v 回到这里。
| + | sh kibana & 启动kibana |
| | | |
| + | 启动完毕,可以浏览器输入url: 服务器外网ip:5601 查看是否成功启动: |
| | | |
− | 如果你的键盘上有方向键的话,也可以用它们来移动光标。不过我们有三个理由
| + | http://192.168.88.52:5601/app/kibana#/home?_g=() |
− | 推荐你学习 C-b 、C-f 、C-n 、和 C-p:(1)它们在任何键盘上都能用。(2)
| |
− | 当你熟练使用 Emacs 之后,你会发现用这些组合键比用方向键要快得多,因为你
| |
− | 的手不需要离开打字区。(3)一旦你习惯了使用这些组合键,你也可以很容易地
| |
− | 适应其它更高级的光标移动命令。
| |
| | | |
− | 大部分的 Emacs 命令接受数字参数,并且对于多数命令而言,这些数字参数的作
| |
− | 用是指定命令的重复次数。为一个命令指定数字参数(也就是重复次数)的方法
| |
− | 是:先输入 C-u,然后输入数字作为参数,最后再输入命令。如果你有META (或
| |
− | EDIT 或 ALT)键,那么还有另一种办法:按住 META 键不放,然后输入数字。不
| |
− | 过我们还是建议你用 C-u,因为它在任何终端机上都能用。这种数字参数也称为
| |
− | “前缀参数”,意思是说这个参数是先于使用它的命令而输入的。
| |
| | | |
− | 举例来说, C-u 8 C-f 会向前移动 8 个字符。
| + | 配置******** |
| + | Kibana配置可以通过命令行参数或配置文件kibana.yml。Kibana应用的默认地址为localhost,无法从远程访问Kibana,因此,用户需要修改配置文件的server.host属性 |
| </pre> | | </pre> |
| | | |
− | ===缓冲区、窗口与窗框=== | + | ====配置nginx,为kibana配置反向代理 ==== |
| <pre> | | <pre> |
| + | server{ |
| | | |
− | 2018年 01月 23日 星期二 21:03:14 CST 学习这个
| + | listen 80; |
− | | |
− | Emacs 启动后,窗框中默认只有一个窗口,但是使用 C-x 1 或 C-x 2 可以将其水平或竖直一分为二,这个分割过程可以无限的进行下去。每次被分割的窗口都是输入光标所在的窗口(也称为被激活的窗口)。使用 C-x o 可以在多个窗口中跳转。
| |
| | | |
− | 由于 Emacs 在拆分窗口时,默认是水平或竖直均分,所以如果你希望将某个窗口调的宽一些,可 C-x } ;要使之窄一些,可 C-x { ;要使之高一些,可 C-x ^,但是要使之矮一些,貌似只能是激活该窗口下方的窗口,然后让下方的窗口高一些。这些窗口大小的调整方法,每次只能使得窗口的尺寸增大或减小一个字符的宽度或高度。如果你不想多次输入像 C-x ^ 这样的命令,那么可以用 C-u n C-x ^ 这样的组合键,其中 n 表示你要重复执行 C-x ^ 这样的命令 n 次。例如,要将当前窗口的高度增加 5 个字符的高度,只需 C-u 5 C-x ^ 即可。
| + | server_name elk.com; |
| | | |
− | C-u 最好要牢记,它的职能就是给某个组合键所绑定的 Emacs Lisp 函数传递一个参数值。 C-u 5 C-x ^ 表示向 C-x ^ 所绑定的 Emacs Lisp 函数传递参数值 5 ,而这个函数接受这个参数值之后,就会将窗口的高度增加 5 个字符的高度。
| + | location / { |
− | 要查看按键被绑定到了哪个 Emacs Lisp 函数,只需 C-h k <RET> 按下你要查询的键 。 <RET> 表示回车键
| |
| | | |
− | 如果觉得窗口太多,想关掉一些,那么关闭被激活的窗口的组合键是 C-x 0 。如果是图形界面的 Emacs,只需要鼠标右键点击窗口的模式行即可将该窗口关闭。我的建议是:能用键盘就不要用鼠标。
| + | proxy_set_header Host $host; |
| | | |
− | 要在某个窗口中打开或新建一个文件,可 C-x C-f 文件路径。
| + | proxy_pass http://localhost:5601; |
| | | |
− | 为了节省内存占用,请尽量使用 Emacs 的多窗口模式,不要打开一个又一个 Emacs
| + | } |
| | | |
| </pre> | | </pre> |
| | | |
− | === 文本编辑的正确姿势=== | + | ===Logstash=== |
− | 用 Emacs 的正确姿势应该是永远保持能不用鼠标就不用鼠标的姿势!因此,你需要学会用键盘来控制光标在窗口中的位置。
| |
| <pre> | | <pre> |
− | 最基本的光标位置控制键如下所示:
| |
− |
| |
− | 上一行 C-p
| |
− | :
| |
− | :
| |
− | 向左移 C-b .... 目前光标位置 .... 向右移 C-f
| |
− | :
| |
− | :
| |
− | 下一行 C-n</span>
| |
− | 要记忆这几个键并不困难。 p 就是 previous(在...之前), n 就是 next, b 就是 backward, f 就是 forward,而 C 就是 Control……美国人民真会玩!
| |
− | </pre>
| |
| | | |
| + | mv logstash-6.4.2/ /usr/local/logstash/ |
| + | cd /usr/local/logstash/bin/ |
| | | |
− | 上述按键虽然简单易懂,但它们只适合小范围移动光标。在行内,可以用 <span style="color:red;">M-f 与 M-b </span>前后大步移动光标,步进单位对于英文而言是单词的长度,对于中文而言是两个标点符号的间距。
| |
| | | |
− | 对于英文文本,若将光标快速移到行首或行尾,标准按键是<span style="color:red;"> C-a 或 C-e </span>但是对于中文而言,这对按键有着将光标被移到段首或段尾的奇异效果……如果偶尔忘记了这对按键,用 Home 或 End 键也未尝不可。<span style="color:red;"> M-a 与 M-e </span>则分别可将光标移动到句首或句尾。
| + | #用这个nginx的 |
| + | cat /usr/local/logstash/config/nginx.conf |
| + | input { |
| + | file { |
| + | path => "/var/log/nginx/access.log" |
| + | type => "nginx" |
| + | codec => "json" |
| + | start_position => "beginning" |
| + | } |
| + | } |
| | | |
− | 如果文档很长,用 <span style="color:red;">C-v 或 M-v </span>可实现向下或向上翻屏。如果偶尔忘记了这对按键,用键盘上的 PgUp 与 PgDn 翻页键也可行。
| + | filter { |
| + | geoip { |
| + | fields => ["city_name", "country_name", "latitude", "longitude", "region_name","region_code"] |
| + | source => "client" |
| + | } |
| + | } |
| | | |
− | 跨度最大的光标移动键是 M-< 与 M-> ,可分别将光标移动到缓冲区的首部与尾部。
| + | output { |
| + | if [type] == "nginx" { |
| + | elasticsearch { |
| + | hosts => ["127.0.0.1:9200"] |
| + | index => "nelson-nginx-%{+YYYY.MM.dd}" |
| + | } |
| + | stdout {} |
| + | } |
| + | } |
| | | |
− | 一旦掌握了上述这几个控制光标位置的按键,在 Emacs 中鼠标基本上就变得不是那么不可或缺了,更重要的是,这些按键能够帮助你更快速的选择文本。对于文档中的待选文本区域,用上述按键将光标移动到该区域的起始位置,然后用<span style="color:red;"> C-@ </span>标定选区之首,然后继续用上述按键将光标移动到选区之尾,这样就完成了文本的选取。
| + | # 是Elasticsearch 的ip哦 千万不能写错啦 线上的情况一般是l 和ek 不在同一个机器 |
| | | |
| + | # hosts => ["127.0.0.1:9200"] |
| | | |
− | 你可能不知道怎么产生 C-@ 按键序列。普通键盘上,应该是摁住 Ctrl 键,然后再摁住 Shift 键,最后摁下数字 2 键,然后松开手。因为 @ 在 2 上面,需要 Shift 切换……
| + | ./bin/logstash -f ./config/nginx.conf |
| | | |
− | 对于选中的文本,随后的操作无非是剪切、复制或删除。剪切,请用 C-w;复制,请用 M-w;删除,请用 Backspace。对于剪切或复制的文本,要粘帖在光标所在位置,请用 C-y……或者你也可以试着看看 C-y 之后再 M-y 有什么效果!
| + | 访问nginx 就会 在控制台看到如下输出 |
| | | |
− | 对文本进行了一段时间的编辑之后,要反悔的话,就用 C-_ 键执行 Undo 操作。
| + | "@timestamp" => 2019-05-31T08:26:26.000Z, |
| + | "domian" => "192.168.88.52", |
| + | "size" => "0", |
| + | "ua" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36", |
| + | "geoip" => {}, |
| + | "tags" => [ |
| + | [0] "_geoip_lookup_failure" |
| + | ], |
| + | "status" => "304", |
| + | "referer" => "-", |
| + | "path" => "/var/log/nginx/access.log", |
| + | "url" => "/index.html", |
| + | "type" => "nginx", |
| + | "client" => "192.168.88.4", |
| + | "host" => "192.168.88.52", |
| + | "@version" => "1", |
| + | "responsetime" => "0.000" |
| + | } |
| | | |
− | 要产生 C-_ 的按键序列,请参考上文所讲的 C-@ 的做法。
| |
− | 建议现在就立刻将上述提到的每个按键都反复试验六、七次,以后就一直坚持使用它们……用不了几天也许就变成手指的本能了。忘掉鼠标吧,键盘可以解放你的双手,可以让你从畸形的鼠标手解脱,然后变成键盘手……因为你很快就会觉得左手的小指会有点酸痛!我会在下一节中拯救你的手。
| |
| | | |
− | ===拯救你的左手小拇指===
| |
− | 如果感到左手的小手指有点疼,就不要再去用左手去摁 C-x C-s 这样的键了,你完全可以用右手的小指去摁键盘右侧的 Ctrl 键,然后左手相应的手指去摁 x 与 s 键
| |
| | | |
− | ===将一段代码向右推===
| |
− | [https://segmentfault.com/a/1190000003811296 将一段代码向右推20180124pm到这里 后面的还没看完]
| |
| | | |
− | ===显示行号===
| |
− | ====临时显示行号或者取消行号====
| |
− | 在Emacs下执行 M-x linum-mode 来显示或者取消行号
| |
− | M-x : Alt + x
| |
− | 输入: linum-mode
| |
| | | |
− | ===跳转到指定行 ===
| |
− | ====临时====
| |
− | M-x goto-line 然后回车 <line_number>
| |
− | ESC x goto-line 然后回车 <line_number>
| |
− | ESC x goto-char 然后回车 char
| |
| | | |
− | ====长期====
| |
− | 以在.emacs文件中定制一下(添加以下一行):
| |
| | | |
− | (define-key ctl-x-map "l" 'goto-line)
| |
| | | |
− | 然后每次在emacs中按C-x再按l,输入指定的行号就可以了。
| |
| | | |
− | http://blog.csdn.net/grey_csdn/article/details/78905862
| |
− | http://bbs.csdn.net/topics/60028785
| |
− |
| |
− |
| |
− | === 常用插件===
| |
− | 记笔记,安排日程,那么毫无疑问Org-Mode是首选
| |
− |
| |
− | [https://elloop.github.io/tools/2016-03-01/emacs-accumulate-5-packages-extensions Markdown]
| |
− |
| |
− |
| |
− | === 快捷键===
| |
− | <pre>
| |
− | M-s : 新建一个buffer(缓冲区)
| |
− |
| |
− | C-x O : 注意是大写的O,不是零,所以需要按住shift键再按o键。用于在缓冲区之间切换
| |
− |
| |
− | C-g : 取消当前操作
| |
− |
| |
− | C-x u : 回到上一步,相当于Undo
| |
− |
| |
− | C-x C-x : 变大写
| |
− |
| |
− | C-x 3 : 把缓冲区(buffer)分为左右两个,新的一个缓冲区是复制当前的缓冲区 (可以执行多次,来分割出很多小窗口)
| |
− |
| |
− | C-x 2 : 把缓冲区(buffer)分为上下两个,新的一个缓冲区是复制当前的缓冲区 (可以执行多次,来分割出很多小窗口)
| |
− |
| |
− | M-w : 选中文字的情况是复制文字,而如果没有选中文字则是复制当前的一行
| |
− |
| |
− | C-w : 选中文字的情况是剪切文字,而如果没有选中文字则是剪切当前的一行
| |
− |
| |
− | M-x : 调出命令输入,可以在后面接命令,比如man,svn-status,等
| |
− |
| |
− | C-y : 黏贴
| |
− |
| |
− | C-x C-s : 保存文本
| |
− |
| |
− | C-x C-f : 打开文件,如果文件不存在,则新建文件
| |
− |
| |
− | C-x C-v : 打开一个文件,取代当前缓冲区
| |
− |
| |
− | C-x k : 关闭当前缓冲区(buffer)
| |
− |
| |
− | C-s : 向前搜索
| |
− |
| |
− | C-r : 向后搜索
| |
− |
| |
− | C-x h : 全选
| |
− |
| |
− | C-v : 向下翻页
| |
− |
| |
− | M-v : 向上翻页
| |
− |
| |
− | C-f : 前进一个字符
| |
− |
| |
− | C-b : 后退一个字符
| |
− |
| |
− | M-f : 前进一个单词
| |
− |
| |
− | M-b : 后退一个单词
| |
− |
| |
− | C-@ : 标记开始区域
| |
− |
| |
− | C-a : 移到行首
| |
− |
| |
− | C-e : 移到行尾
| |
− |
| |
− | M-a : 移到句首
| |
− |
| |
− | M-e : 移到句尾
| |
− |
| |
− | M-< : 缓冲区头部
| |
− |
| |
− | M-> : 缓冲区尾部
| |
− |
| |
− | M-g M-g,再输入数字 : 跳转到文本的第几行
| |
− |
| |
− | C-x 0 : 关闭当前缓冲区
| |
− |
| |
− | C-x C-c : 退出Emacs
| |
− |
| |
− |
| |
− | emacs buffer read only
| |
− | Ctrl-x Ctrl-q
| |
| | | |
| </pre> | | </pre> |
| | | |
− | [https://aifreedom.com/technology/112 Emacs快捷键列表]
| + | ===启动脚本=== |
− | | |
− | 链接:https://www.jianshu.com/p/732157b02ecc
| |
− | | |
− | ==多窗口 == | |
− | | |
− | 首先先明确下Emacs窗口的概念,我们双击Emacs图标打开程序见到的Windows窗口叫做Frame,包含了标题栏,菜单栏,工具栏,最下面的Mode Line和回显区域,而中间一大块显示文本的区域则是Window,实际上每个窗口都有自己的Mode Line。下文中我将称Frame为框,Window为窗口,这里和我们平时理解的Windows窗口有点区别。
| |
− | | |
− | 在Emacs里面,一个框可以分割出多个窗口,多个窗口可以显示同一个或者不同Buffer,但是一个窗口只能属于一个Frame。一个窗口同时也只能显示一个Buffer,但是同时打开两个窗口也能显示一个Buffer的不同部分,这两个窗口是同步的,就是说如果在一个窗口中对Buffer做了修改,在另一个窗口中可以立即表现出来。但在一个窗口中移动光标之类的操作不会影响另一个窗口。多缓冲中有当前缓冲这个概念,同样对于多窗口也有当前窗口,对于当前选中的窗口其Mode Line相对于其它窗口颜色会深一些。
| |
| | | |
− |
| + | ==add redis == |
− | ===显示窗口=== | |
− | <span style="color:red;">
| |
| | | |
− | 命令<span style="color:red;">C-x 2 (split-window-vertically) </span>垂直拆分窗口,就是把一个窗口上下等分为两个,拆分出来的窗口默认是显示当前Buffer。可以多次使用这个命令,会把一个窗口不停的两等分。
| + | ==docker== |
− | 对应也有水平拆分窗口的命令C-x 3 (split-window-horizontally),这两个命令也可以混合使用,如果你屏幕够大画个迷宫出来也不是不可能的。拆分命令还可以加参数,比如M-5 C-x 2就是说上面那个窗口只占5行,其余的位置都给下面的窗口。
| |
| <pre> | | <pre> |
− | C-x o (other-window) 可以在多个窗口中切换,从上到下一个一个的来。使用参数来控制选中下面第几个窗口,想往回选的话参数设为负数。
| |
− |
| |
− | C-M-v (scroll-other-window),用来滚动下一个窗口。
| |
− |
| |
− | 上一章我们看到有些命令加了C-x 4这个前缀,这一类命令都是用来操作多窗口的。
| |
− |
| |
− | C-x 4 b bufname (switch-to-buffer-other-window) 在另一个窗口打开缓冲。
| |
− |
| |
− | C-x 4 C-o bufname (display-buffer) 在另一个窗口打开缓冲,但不选中那个窗口。
| |
− |
| |
− | C-x 4 f filename (find-file-other-window) 在另一个窗口打开文件。
| |
− |
| |
− | C-x 4 d directory (dired-other-window) 在另一个窗口打开文件夹。
| |
− |
| |
− | C-x 4 m (mail-other-window) 在另一个窗口写邮件。
| |
− |
| |
− | C-x 4 r filename (find-file-read-only-other-window) 在另一个窗口以只读方式打开文件。
| |
− |
| |
− | 这一类的命令默认是垂直拆分窗口。</pre>
| |
− |
| |
− | ===重排窗口===
| |
− |
| |
− | 窗口排的密密麻麻看上去肯定不舒服,这时使用 <span style="color:red;">C-x 0 (delete-window) </span> 来关闭当前窗口,需要注意的是窗口和缓冲是两个概念,关闭一个窗口对缓冲,或者我们正在编辑的文件没有任何影响。也可以使用C-x 1 (delete-other-windows) 关闭其它所有窗口。如果想连窗口打开的缓冲一并关掉使用C-x 4 0 (kill-buffer-and-window)。
| |
− | <pre>
| |
− | 我们还可以对窗口的大小做些改变:
| |
− | C-x ^ (enlarge-window)让窗口变得高点,
| |
− | C-x { (shrink-window-horizontally) 这个是把窗口变窄,变宽的话是C-x } (enlarge-window-horizontally) ,C-x - (shrink-window-if-larger-than-buffer)这个看字面意思就能理解,如果窗口比缓冲大就缩小点,C-x + (balance-windows)这个命令和前面那个没有任何关系是将所有窗口变得一样高。
| |
− |
| |
− | 最后再说一个在窗口中切换的命令,有时候窗口开的太多自己也记不住顺序,使用C-x o就会很麻烦。有一类命令能让你在上下左右切换当前窗口,M-x windmove-right 就是移到右边那个窗口,对应的"left","up“, "down",向四个方向都能移。</pre>
| |
− |
| |
− | ===小结 ===
| |
− | <pre>
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
| | | |
| </pre> | | </pre> |
| | | |
| | | |
− | [https://www.cnblogs.com/robertzml/archive/2010/03/24/1692737.html学习Emacs系列教程(十):多窗口]
| |
| | | |
− | ==org mode==
| + | [https://blog.csdn.net/gongxsh00/article/details/77001603 使用Docker快速部署ELK环境(最新5.5.1版本)] |
− | Emacs 的 Org-mode 在一定程度上可以替代 OneNote,有些方面甚至更好
| |
− | [[Org-mode]] | |
| | | |
− | ==reload configfile==
| + | [https://www.cnblogs.com/soar1688/p/6849183.html Docker ElK安装部署使用教程] |
| | | |
− | emacs 打开~/.emacs的时候执行命令M-x eval-buffer,就可以使配置文件立即生效。
| + | =usage= |
− | | + | ==tomcat logs== |
− | ===配置=== | |
| <pre> | | <pre> |
− | https://github.com/gabrielelanaro/emacs-for-python
| |
− | https://github.com/jorgenschaefer/elpy
| |
− | http://www.jesshamrick.com/2012/09/18/emacs-as-a-python-ide/
| |
− | https://realpython.com/blog/python/emacs-the-best-python-editor
| |
− |
| |
− | *day1
| |
− | pass 20170610
| |
− | 有空再详细的再看
| |
− |
| |
− | :
| |
− | 记得要添加在公司作的相关的emacs 笔记
| |
− |
| |
− |
| |
− | =======
| |
− | 这几天常用的几个重要使命
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | 重要快捷键(Important)
| |
− | C-k 删除一行
| |
− | C-g 停止当前运行/输入的命令
| |
− | C-x u 撤销前一个命令
| |
− |
| |
− | c-j 下称整个文件内容
| |
− |
| |
− | emacs 菜单 用F10或者M-`。
| |
− |
| |
− | ctrl+g q 退出 快速说明
| |
− |
| |
− | 编辑器内显示行号可使用 M-x linum-mode 来开启。
| |
− | M-x 然后在最下面 输入 linum-mode
| |
− | not try
| |
− | q
| |
− |
| |
− | 获取帮助
| |
− | ctrl+h k 要查看的快捷键盘
| |
| | | |
| + | Step 1 of 2: Define index pattern |
| + | Index pattern |
| | | |
| + | nelson-nginx-* #因为前面的output index => "nelson-nginx |
| | | |
| | | |
− | 学习基础 Elisp
| + | Step 2 of 2: Configure settings |
| + | @timestamp |
| | | |
− | ctrl+x ctrl +b
| |
| | | |
| + | #这个老的 |
| + | Step 1 of 2: Define index pattern |
| + | Index pattern |
| + | logstash-* |
| | | |
− | C-x o:把光标在屏幕上的窗口间进行切换。记忆方法:其它(Other)窗口。
| + | 有这些字些Success! Your index pattern matches 1 index |
| | | |
− | 然后选择 *scratch*
| + | Step 2 of 2: Configure settings |
| | | |
− | 运算 C-X c - E
| |
− |
| |
− | 插件管理
| |
− |
| |
− | c-x o other window install
| |
− |
| |
− | company
| |
− | f2 打开配置文件
| |
− |
| |
− | org-mode
| |
− |
| |
− | major mode and minor mode (C-h m)
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | ;;evan配置文件
| |
− | ;; ~/.emacs 行号什么 的 我是加到这个文件生效的
| |
− | ;; ~/.emacs.d/emacs
| |
− |
| |
− | ;; 关闭工具栏,tool-bar-mode 即为一个 Minor Mode
| |
− | (tool-bar-mode -1)
| |
− |
| |
− | ;; 关闭文件滑动控件
| |
− | (scroll-bar-mode -1)
| |
− |
| |
− | ;; 显示行号 试过 这个一定有效果
| |
− | (global-linum-mode 1)
| |
− |
| |
− | ;; 更改光标的样式(不能生效,解决方案见第二集)
| |
− | (setq cursor-type 'bar)
| |
− |
| |
− | ;; 关闭启动帮助画面
| |
− | (setq inhibit-splash-screen 1)
| |
− |
| |
− | ;; 关闭缩进 (第二天中被去除)
| |
− | ;; (electric-indent-mode -1)
| |
− |
| |
− | ;; 更改显示字体大小 16pt
| |
− | ;; http://stackoverflow.com/questions/294664/how-to-set-the-font-size-in-emacs
| |
− | (set-face-attribute 'default nil :height 160)
| |
− |
| |
− | ;; 快速打开配置文件
| |
− | (defun open-init-file()
| |
− | (interactive)
| |
− | (find-file "~/.emacs.d/init.el"))
| |
− |
| |
− | ;; 这一行代码,将函数 open-init-file 绑定到 <f2> 键上
| |
− | (global-set-key (kbd "<f2>") 'open-init-file)
| |
− |
| |
− | ; 开启全局 Company 补全
| |
− | (global-company-mode 1)
| |
− |
| |
− | ;; 作者用的 是t
| |
− | 3(global-company-mode t)
| |
− |
| |
− |
| |
− | ;; ~/.emacs 生效的居然是这个 2018
| |
− | ;; 在 mode line 上显示行列号
| |
− | (setq column-number-mode 1)
| |
− | (setq line-number-mode 1)
| |
− |
| |
− | ;;显示列号
| |
− | (setq column-number-mode t)
| |
− |
| |
− | ;; 显示行号
| |
− | (global-linum-mode 1)
| |
− |
| |
− | ;; 取消滚动栏,工具栏
| |
− | (tool-bar-mode 0)
| |
− | (menu-bar-mode 0)
| |
− | (scroll-bar-mode 0)
| |
− |
| |
− | ;; 关闭emacs启动时的页面
| |
− | (setq inhibit-startup-message 1)
| |
− | (setq gnus-inhibit-startup-message 1)
| |
− | ;; 以 y/n代表 yes/no
| |
− | (fset 'yes-or-no-p 'y-or-n-p)
| |
− | ;;; 设置备份策略
| |
− | (setq make-backup-files t)
| |
− | (setq kept-old-versions 2)
| |
− | (setq kept-new-versions 2)
| |
− | (setq delete-old-versions t)
| |
− | (setq backup-directory-alist '(("" . "~/.emacsbackup")))
| |
− |
| |
− | ;; 公共插件配置
| |
− | ;; 设置 package system,这里使用 MELPA,里面的包可以说是应有尽有
| |
− | (require 'package)
| |
− | (add-to-list 'package-archives
| |
− | '("melpa" . "http://melpa.milkbox.net/packages/") t)
| |
− | (package-initialize)
| |
− |
| |
− | ;;内置的package管理,emacs24以上的版本有用
| |
− | (require 'package)
| |
− | ;;将melpa仓库地址加入到package-archives这个列表变量里面
| |
− | (add-to-list 'package-archives
| |
− | '("melpa" . "http://melpa.org/packages/") t)
| |
− | ;;这个是国内一个elpa仓库镜像,速度更快一些,你懂得
| |
− | (add-to-list 'package-archives
| |
− | '("popkit" . "http://elpa.popkit.org/packages/") t)
| |
− | ;;初始化package
| |
− | (package-initialize)
| |
− | ;;更新仓库里面的package
| |
− | (when (not package-archive-contents)
| |
− | (package-refresh-contents))
| |
− | (custom-set-variables
| |
− | ;; custom-set-variables was added by Custom.
| |
− | ;; If you edit it by hand, you could mess it up, so be careful.
| |
− | ;; Your init file should contain only one such instance.
| |
− | ;; If there is more than one, they won't work right.
| |
− | '(package-selected-packages (quote (company auto-complete autopair))))
| |
− | (custom-set-faces
| |
− | ;; custom-set-faces was added by Custom.
| |
− | ;; If you edit it by hand, you could mess it up, so be careful.
| |
− | ;; Your init file should contain only one such instance.
| |
− | ;; If there is more than one, they won't work right.
| |
− | )
| |
− |
| |
− |
| |
− |
| |
− | I. 显示时间
| |
− | .emacs加上:
| |
− | (display-time-mode 1) ;; 常显
| |
− | (setq display-time-24hr-format t) ;;格式
| |
− | (setq display-time-day-and-date t) ;;显示时间、星期、日期
| |
− |
| |
− | II. 隐藏菜单栏工具栏滚动条
| |
− | .emacs加上:
| |
− | (tool-bar-mode 0)
| |
− | (menu-bar-mode 0)
| |
− | (scroll-bar-mode 0)
| |
− | ;;注: 新版改成使用0,旧版使用nil的做法已失效,但 (set-scroll-bar-mode nil) 仍可使用
| |
− |
| |
− | III. 关闭启动画面
| |
− | .emacs加上:
| |
− | (setq inhibit-startup-message t)
| |
− |
| |
− | IV. highlight当前行
| |
− | .emacs加上:
| |
− | (global-hl-line-mode 1)
| |
− | ;;;; c mode ;;;;
| |
− | (defvar xgp-cfsi-left-PAREN-old nil
| |
− | "Command used to input \"(\"")
| |
− | (make-variable-buffer-local 'xgp-cfsi-left-PAREN-old)
| |
− |
| |
− | (defun xgp-cfsi-modify-alist (alist term new)
| |
− | (let ((tl (assq term (symbol-value alist))))
| |
− | (if tl
| |
− | (setcdr tl new)
| |
− | (add-to-list alist (cons term new)))))
| |
− |
| |
− | (defun xgp-cfsi (style)
| |
− | "Deciding whether using CFSI."
| |
− | (interactive "Style: ")
| |
− | (c-set-style style)
| |
− | (setq indent-tabs-mode
| |
− | nil
| |
− | c-hanging-semi&comma-criteria
| |
− | (quote (c-semi&comma-inside-parenlist)))
| |
− |
| |
− | (xgp-cfsi-modify-alist 'c-hanging-braces-alist 'class-open nil)
| |
− | (xgp-cfsi-modify-alist 'c-hanging-braces-alist 'class-close nil)
| |
− | (local-set-key " " 'self-insert-command))
| |
− |
| |
− | (defun xgp-cfsi-erase-blanks ()
| |
− | "Erase all trivial blanks for CFSI."
| |
− | (interactive)
| |
− | (save-excursion
| |
− | (goto-char (point-min))
| |
− | (while (re-search-forward "[ \t]+$" nil t)
| |
− | (replace-match "" nil nil))))
| |
− |
| |
− | (defun linux-c-mode()
| |
− | (define-key c-mode-map [return] 'newline-and-indent)
| |
− | (setq imenu-sort-function 'imenu--sort-by-name)
| |
− | (interactive)
| |
− | (imenu-add-menubar-index)
| |
− | (which-function-mode)
| |
− | (c-toggle-auto-state)
| |
− | (c-toggle-hungry-state)
| |
− | (setq indent-tabs-mode nil)
| |
− | (xgp-cfsi "linux"))
| |
− | (add-hook 'c-mode-common-hook 'linux-c-mode)
| |
− | ;; 代码补全
| |
− | (add-hook 'c-mode-hook 'company-mode)
| |
− | (add-hook 'c++-mode-hook 'company-mode)
| |
− |
| |
− |
| |
− | # other
| |
− | 如果要一次移动若干个单位,可以给命令加上数值参数,通过C-u命令,如:C-u 8 C-n就表示往下移8行,C-u 10 M-e表示往后移10句。不过C-u的参数对C-v和M-v命令而言有特殊,它不表示上下翻多少页,而是表示上下滚动多少行。注意与C-n的区别,C-u 8 C-n表示光标下移8行,屏幕不一定会滚动,而C-u 8 C-v,表示屏幕滚动8行,如果光标没有滚到屏幕外的话,光标位置不变。
| |
− | 如果不给C-u带上数值,则默认的值是4。比如C-u C-n就表示下移4行。这一特性还可以重复使用C-u C-u C-p就表示上移16行,C-u C-u C-u C-f表示右移64个字符。
| |
− | 前面讲了用C-g可以中断当前的命令,这次再补充一点,有时候C-g不灵时,可以按三次<Esc>键达到相同的目的。
| |
| </pre> | | </pre> |
| | | |
− | ====kali本本配置====
| + | [https://blog.csdn.net/ZHANG_H_A/article/details/53129565 elk部署配置,收集nginx和tomcat日志] |
− | <pre>
| |
− | ;;cat ~/.emacs
| |
− | | |
− | ;; 关闭工具栏,tool-bar-mode 即为一个 Minor Mode
| |
− | (tool-bar-mode 0)
| |
− | (menu-bar-mode 0)
| |
− | (scroll-bar-mode 0)
| |
− | (tool-bar-mode -1)
| |
− | | |
− | | |
− | | |
− | (setq column-number-mode t)
| |
− | (setq column-number-mode 1)
| |
− | (setq line-number-mode 1)
| |
− | ;; 显示行号
| |
− | (global-linum-mode 1)
| |
− | ;; 在 mode line 上显示行列号
| |
− | (setq column-number-mode 1)
| |
− | (setq line-number-mode 1)
| |
− | | |
− | ;;显示列号
| |
− | (setq column-number-mode t)
| |
− | | |
− | ;; 显示行号
| |
− | (global-linum-mode 1)
| |
− | | |
− | ;; 取消滚动栏,工具栏
| |
− | (tool-bar-mode 0)
| |
− | (menu-bar-mode 0)
| |
− | (scroll-bar-mode 0)
| |
| | | |
− | ;; 关闭emacs启动时的页面
| + | [https://www.cnblogs.com/FengGeBlog/p/10558912.html ELK收集tomcat状态日志] |
− | (setq inhibit-startup-message 1)
| |
− | (setq gnus-inhibit-startup-message 1)
| |
− | ;; 以 y/n代表 yes/no
| |
− | (fset 'yes-or-no-p 'y-or-n-p)
| |
− | ;;; 设置备份策略
| |
− | (setq make-backup-files t)
| |
− | (setq kept-old-versions 2)
| |
− | (setq kept-new-versions 2)
| |
− | (setq delete-old-versions t)
| |
− | (setq backup-directory-alist '(("" . "~/.emacsbackup")))
| |
| | | |
− | ;; 公共插件配置
| + | ==logstash配置mysql数据同步到elasticsearch== |
− | ;; 设置 package system,这里使用 MELPA,里面的包可以说是应有尽有
| |
− | (require 'package)
| |
− | (add-to-list 'package-archives
| |
− | '("melpa" . "http://melpa.milkbox.net/packages/") t)
| |
− | (package-initialize)
| |
| | | |
− | ;;内置的package管理,emacs24以上的版本有用
| |
− | (require 'package)
| |
− | ;;将melpa仓库地址加入到package-archives这个列表变量里面
| |
− | (add-to-list 'package-archives
| |
− | '("melpa" . "http://melpa.org/packages/") t)
| |
− | ;;这个是国内一个elpa仓库镜像,速度更快一些,你懂得
| |
− | (add-to-list 'package-archives
| |
− | '("popkit" . "http://elpa.popkit.org/packages/") t)
| |
− | ;;初始化package
| |
− | (package-initialize)
| |
− | ;;更新仓库里面的package
| |
− | (when (not package-archive-contents)
| |
− | (package-refresh-contents))
| |
− | (custom-set-variables
| |
− | ;; custom-set-variables was added by Custom.
| |
− | ;; If you edit it by hand, you could mess it up, so be careful.
| |
− | ;; Your init file should contain only one such instance.
| |
− | ;; If there is more than one, they won't work right.
| |
− | '(package-selected-packages (quote (company auto-complete autopair))))
| |
− | (custom-set-faces
| |
− | ;; custom-set-faces was added by Custom.
| |
− | ;; If you edit it by hand, you could mess it up, so be careful.
| |
− | ;; Your init file should contain only one such instance.
| |
− | ;; If there is more than one, they won't work right.
| |
− | )
| |
| | | |
− | ;;;; c mode ;;;;
| |
− | (defvar xgp-cfsi-left-PAREN-old nil
| |
− | "Command used to input \"(\"")
| |
− | (make-variable-buffer-local 'xgp-cfsi-left-PAREN-old)
| |
| | | |
− | (defun xgp-cfsi-modify-alist (alist term new)
| |
− | (let ((tl (assq term (symbol-value alist))))
| |
− | (if tl
| |
− | (setcdr tl new)
| |
− | (add-to-list alist (cons term new)))))
| |
| | | |
− | (defun xgp-cfsi (style)
| |
− | "Deciding whether using CFSI."
| |
− | (interactive "Style: ")
| |
− | (c-set-style style)
| |
− | (setq indent-tabs-mode
| |
− | nil
| |
− | c-hanging-semi&comma-criteria
| |
− | (quote (c-semi&comma-inside-parenlist)))
| |
| | | |
− | (xgp-cfsi-modify-alist 'c-hanging-braces-alist 'class-open nil)
| + | [https://www.cnblogs.com/zhang-shijie/p/5384624.html ELK 之三:Kibana 使用与Tomcat、Nginx 日志格式处理] |
− | (xgp-cfsi-modify-alist 'c-hanging-braces-alist 'class-close nil)
| |
− | (local-set-key " " 'self-insert-command))
| |
| | | |
− | (defun xgp-cfsi-erase-blanks ()
| + | =安全= |
− | "Erase all trivial blanks for CFSI."
| + | ==nginx代理== |
− | (interactive)
| |
− | (save-excursion
| |
− | (goto-char (point-min))
| |
− | (while (re-search-forward "[ \t]+$" nil t)
| |
− | (replace-match "" nil nil))))
| |
− | | |
− | (defun linux-c-mode()
| |
− | (define-key c-mode-map [return] 'newline-and-indent)
| |
− | (setq imenu-sort-function 'imenu--sort-by-name)
| |
− | (interactive)
| |
− | (imenu-add-menubar-index)
| |
− | (which-function-mode)
| |
− | (c-toggle-auto-state)
| |
− | (c-toggle-hungry-state)
| |
− | (setq indent-tabs-mode nil)
| |
− | (xgp-cfsi "linux"))
| |
− | (add-hook 'c-mode-common-hook 'linux-c-mode)
| |
− | ;; 代码补全
| |
− | (add-hook 'c-mode-hook 'company-mode)
| |
− | (add-hook 'c++-mode-hook 'company-mode)
| |
− | | |
− | ;; py
| |
− | (setq tab-width 4)
| |
− | (set-variable 'python-indent-offset 4)
| |
− | ;;(set-variable 'python-indent-guess-indent-offset nil)
| |
− | </pre>
| |
− | | |
− | | |
− | [https://blog.csdn.net/qq_40875035/article/details/82883325 emacs配置]
| |
− | | |
− | == 不错的配置 c什么都包括了== | |
| <pre> | | <pre> |
− | mv ~/.emacs.d ~/.emacs.d.bak
| + | 1.安装nginx |
− | git clone --depth 1 https://github.com/seagle0128/.emacs.d.git ~/.emacs.d
| + | 2.安装Apache密码生产工具 httpd-tools |
| + | 3.生成密码文件 |
| + | 4.配置Nginx |
| + | 5.修改 kibna配置文件 |
| + | 6.重启kibna,Nginx |
| + | 查看登录界面 |
| </pre> | | </pre> |
| + | [https://www.linuxgogo.com/1873.html 06-使用 Nginx 做 kibana 安全认证1] |
| | | |
− | 有空好好的看一下
| + | ==x-pack== |
− | https://github.com/seagle0128/.emacs.d
| |
− | | |
− | | |
− | | |
− | === c 常用命令=== | |
− | emacs中很多命令都对C语言格式支持,补充几个命令M-x c-mode 当无法识别C语法格式的文件,可以强制打开C mode语法高亮C-M-p 跳转到}或)匹配的括号C-M-n 跳转到(或{匹配的括号M-x indent-region 自动缩进选定的区域C-c C-c 注释掉整个区域C-u C-c C-c 取消注释C-c C-u 跳转到前面的一个#ifdef C-c C-n 跳转到宏的开头或结尾C-c C-e 扩展宏编译排错:C-x ` (出错信息中)下一个错误,一个窗口显示错误信息,另一个显示源码的出错位置C-c C-c 转到出错位置调试:启动gdb调试器后,光标在源码文件缓冲区中时:C-x SPC 在当前行设置断点gdb在emacs中调用调试并不完美,有时候会出一些异常的情况。工作中如果emacs作为IDE用的话,一般在远程终端字符环境下更合适,如果作为专业的图形化IDE,codeblock等更合适,eclipse+CDT也是一种选择。
| |
− | | |
− | === c 配置文件===
| |
| <pre> | | <pre> |
− | ;; 配置文件 for c or c ++
| + | 官方提供x-pack组件,进行安全防护,报表,集群实时监控。 |
− | ;; cat ~/.emacs
| |
− | | |
− | ;; 在 mode line 上显示行列号
| |
− | (setq column-number-mode 1)
| |
− | (setq line-number-mode 1)
| |
− | | |
− | ;;显示列号
| |
− | (setq column-number-mode t)
| |
− | | |
− | ;; 显示行号
| |
− | (global-linum-mode 1)
| |
| | | |
− | ;; 取消滚动栏,工具栏
| + | 只安装x-pack中的Shield |
− | ;;(tool-bar-mode 0)
| |
− | ;;(menu-bar-mode 0)
| |
− | ;;(scroll-bar-mode 0)
| |
− | | |
− | ;; 关闭emacs启动时的页面
| |
− | (setq inhibit-startup-message 1)
| |
− | (setq gnus-inhibit-startup-message 1)
| |
− | ;; 以 y/n代表 yes/no
| |
− | (fset 'yes-or-no-p 'y-or-n-p)
| |
− | ;;; 设置备份策略
| |
− | (setq make-backup-files t)
| |
− | (setq kept-old-versions 2)
| |
− | (setq kept-new-versions 2)
| |
− | (setq delete-old-versions t)
| |
− | (setq backup-directory-alist '(("" . "~/.emacsbackup")))
| |
− | | |
− | ;; 公共插件配置
| |
− | ;; 设置 package system,这里使用 MELPA,里面的包可以说是应有尽有
| |
− | (require 'package)
| |
− | (add-to-list 'package-archives
| |
− | '("melpa" . "http://melpa.milkbox.net/packages/") t)
| |
− | (package-initialize)
| |
| | | |
| + | 只是对 kibna放在公网 对kibna进行登录验证的话,可以用nginx 代理功能 |
| | | |
| + | 1.nginx代理 |
| + | 2.使用Shield |
| + | 3.x-pack组件 |
| </pre> | | </pre> |
| | | |
− | [https://segmentfault.com/a/1190000003878553 Emacs 中 C/C++ 编程基本环境配置2018]
| |
| | | |
− | [https://blog.csdn.net/cuijianzhongswust/article/details/10313865 将Emacs配置成一个C/C++的IDE编程环境]
| |
| | | |
− | ==from tour ==
| + | [https://www.jianshu.com/p/d4b19b5150dc ELK的安全加固good] |
− | <pre>
| |
− | #这些笔记完全作到wiki么 会不会太多 而没有重点的感觉
| |
| | | |
− | * 如果 EMACS 失去响应(IF EMACS STOPS RESPONDING)
| + | [https://blog.csdn.net/qq_24434491/article/details/80820275 ELK安全配置] |
− | -----------------------------------------------
| |
− | 如果 Emacs 对你的命令失去响应,你可以用 C-g 来安全地终止这条命令。C-g
| |
− | 也可以终止一条执行过久的命令。
| |
| | | |
− | C-g 还可以取消数字参数和只输入到一半的命令。
| + | [https://elasticsearch.cn/article/129 Elasticsearch 安全加固 101] |
| | | |
− | >> 输入 C-u 100 设定一个值为 100 的数字参数,然后按 C-g。
| + | [https://www.jianshu.com/p/5a42b3560b27 ElasticSearch&Search-guard 5 权限配置] |
− | 现在再按 C-f,光标应该只会移动一个字符,因为你已经用 C-g 取消了参数。
| |
| | | |
− | 如果你不小心按了一下 <ESC>,你也可以用 C-g 来取消它。
| + | [https://blog.csdn.net/qq_41980563/article/details/88725584 elk设置密码,elasticsearch设置密码] |
− | 【这个说法似乎有问题,因为按照这个按键顺序输入的应该是 C-M-g。
| |
− | 取消 <ESC> 的正确做法是再连按两次 <ESC>。】
| |
| | | |
| + | =集群= |
| | | |
− | * 插入与删除(INSERTING AND DELETING)
| + | =trouble= |
− | --------------------------------------
| + | <pre> |
− | | |
− | ,大部分的 Emacs 命令都可以指定重复次数,这其中也包括输入字符的
| |
− | 命令。重复执行输入字符的命令实际上就是输入多个相同的字符。
| |
− | | |
− | >> 试试 C-u 8 *,这将会插入 ********。
| |
− | | |
− | 好,现在你应该已经掌握了最基本的的文本插入和修改功能,其实删除还可以
| |
− | “以词为单位”进行,下面是一个关于“删除”操作的小结:
| |
− | | |
− | <DEL> 删除光标前的一个字符
| |
− | C-d 删除光标后的一个字符
| |
− | | |
− | M-<DEL> 移除光标前的一个词
| |
− | M-d 移除光标后的一个词
| |
− | | |
− | C-k 移除从光标到“行尾”间的字符
| |
− | M-k 移除从光标到“句尾”间的字符
| |
− | | |
− | 【可能你已经注意到了“删除(delete)”和“移除(kill)”的用词区别,后
| |
− | 文会有详细说明。】
| |
− | | |
− | 注意“<DEL> 和 C-d”还有“M-<DEL> 和 M-d”是根据前述惯例从 C-f和 M-f 衍生的
| |
− | 出来的(其实<DEL>不是控制字符,我们先忽略这一点)。C-k和 M-k 的关系在
| |
− | 某种程度上与 C-e 和 M-e 一样――如果把“一行”和“一句”作一个类比的话。
| |
− | | |
− | | |
− | 你也可以用一种通用的办法来移除缓冲区里的任何一部分:首先把光标移动到你
| |
− | 想要移除的区域的一端,然后按 C-<SPC>(<SPC>指空格)【注意,C-<SPC> 往
| |
− | 往被中文用户设定成输入法热键,如果这样,C-<SPC> 就被系统拦截而无法传递
| |
− | 给 Emacs 了,在这种情况下可以使用C-@。】,然后将光标移动到你准备移除的
| |
− | 文字的另一端。这个时候, Emacs 会高亮光标和你按下 C-<SPC> 之间的文本。
| |
− | 最后,按下 C-w 。这样就可以把位于这两点之间的所有文字移除了。
| |
− | | |
− | | |
− | 注意,“移除(kill)”和“删除(delete)”的不同在于被移除的东西可以被重新
| |
− | 插入(在任何位置),而被删除的就不能使用相同的方法重新插入了(不过可以
| |
− | 通过撤销一个删除命令来做到,后文会提到)。
| |
− | | |
− | | |
− | 重新插入被移除的文字称为“召回(yank)
| |
− | | |
− | | |
− | 召回的命令是 C-y。它会在光标所在处插入你最后移除的文字。
| |
− | | |
− | | |
− | C-y 可以召回最近一次移除的内容,那如何召回前几次移除的内容呢?它们当然
| |
− | 没有丢,你可以用 M-y 来召回它们。在用 C-y 召回最近移除的文字之后,紧接
| |
− | 着再按 M-y 就可以召回再前一次被移除的内容,再按一次 M-y 又可以召回再上
| |
− | 一次的……连续使用 M-y 直到找到你想要召回的东西,然后什么也不用做,继续
| |
− | 编辑就行了。
| |
− | | |
− | 如果连续按 M-y 很多次,你可能会回到起始点,也就是最近移除的文字。
| |
− | 【看得出这实际上是一个环。】
| |
− | | |
− | >> 移除一行,移动一下光标,然后再移除另外一行。
| |
− | 按 C-y 将第二次移除的那行召回来。
| |
− | 紧接着再按 M-y,它将会被第一次移除的那行取代。
| |
− | 试着再按几下 M-y 看看会发生什么。
| |
− | 再继续,直到第二行被召回来,然后再做个几次。
| |
− | 如果感兴趣,你可以试着给 M-y 指定一个正的或负的参数。
| |
− | | |
− | | |
− | * 撤销(UNDO)
| |
− | --------------
| |
− | 如果你修改了一段文字,又觉得改得不好,可以用 undo 命令进行撤销:C-/。
| |
− | 另外, C-x u 和 C-/ 完全一样,但是按起来有些麻烦。
| |
− | | |
− | * 文件(FILE)
| |
− | --------------
| |
− | | |
− | | |
− | * 缓冲区(BUFFER)
| |
− | ------------------
| |
− | | |
− | 你可以用 C-x C-f 找到并打开第二个文件,但第一个文件仍然在 Emacs 中。要
| |
− | 切回第一个文件,一种办法是再用一次 C-x C-f。这样,你就可以在 Emacs 中同
| |
− | 时打开多个文件。
| |
− | 不过还有一个更简单的办法,那就是用 C-x b。用这条命
| |
− | 令,你必须输入缓冲区的名称。(如果是返回默认的第一个不用名称)
| |
− | | |
− | | |
− | >> 通过输入 C-x C-f foo <Return> 创建一个名为“foo”的文件。
| |
− | 然后输入 C-x b TUTORIAL.cn <Return> 回到这里。
| |
− | | |
− | | |
− | | |
− | C-x s 保存多个缓冲区
| |
− | | |
− | | |
− | 输入 C-x 1 离开缓冲区列表
| |
− |
| |
− |
| |
− |
| |
− | * 命令集扩展(EXTENDING THE COMMAND SET)
| |
− | -----------------------------------------
| |
− | C-x 字符扩展。 C-x 之后输入另一个字符或者组合键。
| |
− | M-x 命令名扩展。M-x 之后输入一个命令名。
| |
− | | |
− | C-z 可以暂时离开 Emacs――当然,你还可以再回来。
| |
− |
| |
− | C-x 的扩展命令有很多,下面列出的是你已经学过的:
| |
− | | |
− | C-x C-f 寻找文件。
| |
− | C-x C-s 保存文件。
| |
− | C-x C-b 列出缓冲区。
| |
− | C-x C-c 离开 Emacs。
| |
− | C-x 1 关掉其它所有窗格,只保留一个。
| |
− | C-x u 撤销。
| |
− | | |
− | | |
− | | |
− | * 自动保存(AUTO SAVE)
| |
− | -----------------------
| |
− | | |
− | 所以,假如不幸真的发生了,你大可以从容地打开原来的文件(注意不是自动保
| |
− | 存文件)然后输入 M-x recover file <Return> 来恢复你的自动保存文件。在
| |
− | 提示确认的时候,输入 yes<Return>。
| |
− | | |
− | | |
− | * 状态栏(MODE LINE)
| |
− | ---------------------
| |
− | | |
− | “L” 和其后的数字给出了光标所在行的行号。
| |
− | | |
− | 最开头的星号(*)表示你已经对文字做过改动。刚刚打开的文件肯定没有被改动
| |
− | 过,所以状态栏上显示的不是星号而是短线(-)。
| |
− | | |
− | 状态栏上小括号里的内容告诉你当前正在使用的编辑模式。缺省的模式是
| |
− | Fundamental,就是你现在正在使用的这个。它是一种“主模式”。
| |
− | | |
− | | |
− | 用 C-l C-l 将本行带到屏幕的最上方。
| |
− | | |
− | | |
− | | |
− | * 搜索(SEARCHING)
| |
− | -------------------
| |
− | | |
− | C-s 是向前搜索,C-r 是向后搜索。不过手别这么快!别着急试。
| |
− | | |
− | 在按下 C-s 之后,回显区里会有“I-search”字样出现,表明目前 Emacs 正处
| |
− | 于“渐进搜索”状态,并等待你输入搜索字串。按 <Return> 可以结束搜索。
| |
− | | |
− | >> 输入 C-s 开始一个搜索。注意敲慢一点,一次输入一个字符。
| |
− | 慢慢输入“ccusor”这个词,每敲一个字都停顿一下并观察光标。
| |
− | 现在你应该已曾经找到“ccusor”这个词了。
| |
− | >> 再按一次 C-s,搜索下一个“ccusor”出现的位置。
| |
− | >> 现在按四次 <DEL> ,看看光标是如何移动的。
| |
− | >> 敲 <Return> 结束搜索。
| |
− | | |
− | 看仔细了么?在一次渐进式搜索中,Emacs 会尝试跳到搜索目标出现的位置。要
| |
− | 跳到下一个命中位置,就再按一次 C-s。如果找不到目标,Emacs 会发出“哔”
| |
− | 的一声,告诉你搜索失败。在整个过程中,都可以用 C-g 来终止搜索。【你会发
| |
− | 现 C-g 会让光标回到搜索开始的位置,而 <Return> 则让光标留在搜索结果上,
| |
− | 这是很有用的功能。】
| |
− | | |
− | 在渐进式搜索中,按 <DEL> 会“撤回”到最近一次搜索的命中位置。如果之前没
| |
− | 有一个命中, <DEL> 会抹去搜索字符串中的最后一个字符。比如你已经输入了
| |
− | “c”,光标就停在“c”第一次出现的位置,再输入“u”,光标停在“cu”第一次出现
| |
− | 的位置,这时再按 <DEL> ,“u”就从搜索字串中消失了,然后光标会回到“c”第
| |
− | 一次出现的位置。
| |
− | | |
− | | |
− | * 多窗格(MULTIPLE WINDOWS)
| |
− | ----------------------------
| |
− | | |
− | > 移动光标到这一行,然后输入 C-l C-l。
| |
− | | |
− | >> 现在输入 C-x 2,它会将屏幕划分成两个窗格。
| |
− | 这两个窗格里显示的都是本篇快速指南,而光标则停留在上方的窗格里。
| |
− | | |
− | >> 试试用 C-M-v 滚动下方的窗格。
| |
− | (如果你并没有 META 键,用 ESC C-v 也可以。)
| |
− | 【向上滚动是 C-M-S-v,也就是同时按住 CONTROL、META 和 SHIFT 再按 v】
| |
− | | |
− | >> 输入 C-x o(“o”指的是“其它(other)”),
| |
− | 将光标转移到下方的窗格。
| |
− | | |
− | >> 在下方的窗格中,用 C-v 和 M-v 来滚动。
| |
− | 同时继续在上方的窗格里阅读这些指导。
| |
− | | |
− | | |
− | C-M-v 是一个 CONTROL-META 组合键。如果你有 META (或 Alt)键的话,可以
| |
− | 同时按住CONTROL 和 META 键并输入 v。CONTROL 和 META 键先按哪个都可以,
| |
− | 因为它们只是用来“修饰(modify)”你输入的字符的。
| |
− | | |
− | | |
− | >> (在上方窗格里)输入 C-x 1 关掉下方窗格。
| |
| | | |
− | (如果你在下方的窗格里输入 C-x 1,那么就会关掉上方的窗格。你可以把这个
| + | max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] |
− | 命令看成是“只保留一个窗格”――就是我们正在编辑的这个。)
| + | elasticsearch启动时遇到的错误 |
| | | |
− | 不同的窗格可以显示不同的缓冲区。如果你在一个窗格里用 C-x C-f 打开了一个
| + | 问题翻译过来就是:elasticsearch用户拥有的内存权限太小,至少需要262144; |
− | 文件,另一个窗格并不会发生什么变化。任何一个窗格里都可以用来打开文件。
| |
| | | |
| + | /etc/sysctl.conf文件最后添加一行 |
| | | |
− | * 多窗口(MULTIPLE FRAMES)
| + | vm.max_map_count=262144 |
− | ------------------
| |
| | | |
| | | |
− | * 更多精彩(MORE FEATURES)
| + | [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] |
− | ---------------------------
| |
| | | |
− | 想学习更多的使用技巧,Emacs 使用手册(manual)值得一读。你可以读纸版的
| + | max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] |
− | 书,也可以在 Emacs 中读(可以从 Help 菜单进入或者按 C-h r)。提两个你
| |
− | 可能会很感兴趣的功能吧,一个是可以帮你少敲键盘的 completion(自动补全),
| |
− | 另一个是方便文件处理的 dired(目录编辑)。
| |
| | | |
− | Completion 可以替你节省不必要的键盘输入。比如说你想切换到 *Message* 缓
| + | 每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量 |
− | 冲区,你就可以用 C-x b *M<Tab> 来完成。只要 Emacs 能够根据你已经输入的
| |
− | 文字确定你想要输入的内容,它就会自动帮你补齐。Completion 也可用于命令
| |
− | 名和文件名。有关 Completion 的详细说明可以在 Emacs Info 中的
| |
− | “Completion”一节里找到。
| |
| | | |
− | Dired 能够在一个缓冲区里列出一个目录下的所有文件(可以选择是否也列出子
| + | ulimit -Hn |
− | 目录),然后你可以在这个文件列表上完成对文件的移动、访问、重命名或删除
| + | ulimit -Sn |
− | 等等操作。Dired 也在 Emacs 使用手册中有详细介绍,参见“Dired”一节。
| + | 修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效 |
| | | |
| + | * soft nofile 65536 |
| + | * hard nofile 65536 |
| | | |
− | 下面列出主要术语的译词对照,并给出注释说明:
| + | https://blog.csdn.net/qq942477618/article/details/53414983 |
| | | |
− | command 命令
| + | https://www.jianshu.com/p/89f8099a6d09 Elasticsearch5.2.0部署过程的坑 |
− | cursor 光标
| |
− | scrolling 滚动
| |
− | numeric argument 数字参数
| |
− | window 窗格 [1]
| |
− | insert 插入
| |
− | delete 删除 [2]
| |
− | kill 移除 [2]
| |
− | yank 召回 [2]
| |
− | undo 撤销
| |
− | file 文件
| |
− | buffer 缓冲区
| |
− | minibuffer 小缓冲
| |
− | echo area 回显区
| |
− | mode line 状态栏
| |
− | search 搜索
| |
− | incremental search 渐进式搜索 [3]
| |
| | | |
| + | https://www.cnblogs.com/yidiandhappy/p/7714489.html |
| | | |
− | 20180313 ln 792
| + | https://www.cnblogs.com/zhi-leaf/p/8484337.html |
− | here
| |
− | | |
− | | |
− | M-x replace-string ENTER search-string ENTER 替换
| |
− |
| |
− | | |
− | | |
− | 用 <Return> 结束文件名的输入
| |
− | Return 这里是什么意思呢 回车么
| |
− | | |
− | | |
− | Alt + x
| |
− | 输入: linum-mode
| |
− | | |
− | | |
− | | |
− | emacs中如何跳到指定行
| |
− | | |
− | M-x goto-line 然后回车 <line_number>
| |
− | | |
− | 以在.emacs文件中定制一下(添加以下一行):
| |
− | | |
− | (define-key ctl-x-map "l" 'goto-line)
| |
− | | |
− | | |
− | 然后每次在emacs中按C-x再按l,输入指定的行号就可以了。
| |
− | | |
− | http://blog.csdn.net/grey_csdn/article/details/78905862
| |
− | http://bbs.csdn.net/topics/60028785
| |
| </pre> | | </pre> |
− | ==package ==
| |
− | <pre>
| |
− |
| |
− | 也可以使用命令M-x list-packages获取插件列表,使用C-s找到 软件名 i - 选择要安装的包 例如叫 elpy 来安装
| |
− |
| |
− |
| |
− | ;内置的package管理,emacs24以上的版本有用
| |
− | (require 'package)
| |
− | ;;将melpa仓库地址加入到package-archives这个列表变量里面
| |
− | (add-to-list 'package-archives
| |
− | '("melpa" . "http://melpa.org/packages/") t)
| |
− | ;;这个是国内一个elpa仓库镜像,速度更快一些,你懂得
| |
− | (add-to-list 'package-archives
| |
− | '("popkit" . "http://elpa.popkit.org/packages/") t)
| |
− | ;;初始化package
| |
− | (package-initialize)
| |
− | ;;更新仓库里面的package
| |
− | (when (not package-archive-contents)
| |
− | (package-refresh-contents))
| |
− | </pre>
| |
− |
| |
− | ===常用操作===
| |
− | <pre>
| |
− | #软件包安装
| |
− | Alt+x list-packages
| |
− |
| |
− | 可以先用C-s向下搜索 autopair
| |
− | 找到后 回来后 按i再按x就下载到本地了。然后打开emacs的配置文件init.el,在里面添加下面:
| |
− |
| |
− | 常用快捷键
| |
− | i - 选择要安装的包
| |
− | d - 选择要删除的包
| |
− | U - 升级已安装的包
| |
− | x - 执行操作
| |
− | d - 选择要删除的包
| |
− | </pre>
| |
− |
| |
− | [http://longlycode.github.io/2016/02/02/emacs%E5%AE%8C%E5%85%A8%E8%A1%A5%E5%AE%8C%E8%AE%A1%E5%88%92-%E4%B8%89/ emacs完全补完计划(三)——package的引入和管理]
| |
− |
| |
− |
| |
− | ==emacs-gtk==
| |
− | <pre>
| |
− | 让选中可以高亮
| |
− | 自己打开随便看下 居然就看到了 不错
| |
− | emacs-gtk --> Options --> customize emacs --> custom themes --> 个人感觉 adwaita 还不错
| |
− | save theme settings
| |
− | </pre>
| |
− | == 高级==
| |
− |
| |
− |
| |
− | [https://panqiincs.me/2015/06/15/edit-markdown-with-emacs/ 用Emacs编辑Markdown ]
| |
− |
| |
− |
| |
− | [https://www.jianshu.com/p/e4e015096fb4 Emacs有这些配置足矣]
| |
− |
| |
− |
| |
− | ===Edit mediawiki sites from emacs ===
| |
− | [https://github.com/hexmode/mediawiki-el mediawiki.el -- Edit mediawiki sites from emacs]
| |
− |
| |
− | ==emacs 学习==
| |
| | | |
− | https://link.zhihu.com/?target=https%3A//github.com/emacs-tw/awesome-emacs
| + | =see also= |
− | 0.我雖然是看man過來的,但是這份名單,如果早知道應該會輕鬆很多。--- update1.從starter-kit入手把,爬梯子出去看redguardtoo的獨立博客,你會發現吊爆了。當然他的一年的文章一定要看。而且可以git下來,revert到剛開始的commit,一個個commit看。2. 還有就是各種折騰。各種動手把,拒絕其他一切的編輯器。3.改鍵位,乾脆去買了HHKB也可以,如你很土豪。4.看書呀,學elisp,這個階段你要看田春冰河的,李殺的博客了。學着寫個插件把。PS.學習emacs會改變你編程思維的,包括你軟件開發的工作流。lisp系各種優雅.上面編號不分先後。
| |
| | | |
− | [https://www.zhihu.com/question/19783016 怎样学习 Emacs]
| |
| | | |
| + | [https://blog.csdn.net/yp090416/article/details/81589174 good ELK+logback+kafka+nginx 搭建分布式日志分析平台] |
| | | |
| | | |
| + | [https://blog.csdn.net/li123128/article/details/81052374 小白都会超详细--ELK日志管理平台搭建教程] |
| | | |
− | [https://www.cnblogs.com/holbrook/archive/2012/02/15/2357336.html Emacs学习笔记(1):初学者的学习计划] | + | [https://blog.51cto.com/wzlinux/category21.html ELK 教程] |
| | | |
− | [https://www.cnblogs.com/holbrook/archive/2012/03/06/2381636.html Emacs学习笔记(7):简单的配置]
| |
| | | |
− | [https://www.cnblogs.com/holbrook/archive/2012/02/15/2357335.html Emacs学习笔记(2): 初识Emacs]
| + | https://www.elastic.co/guide/cn/index.html |
| | | |
− | [https://www.cnblogs.com/holbrook/tag/emacs/ emacs 学习标签 ]
| |
| | | |
| | | |
− | [https://zklhp.github.io/2016/06/18/What-I-do-with-Emacs/ 我用Emacs干什么?为什么用Emacs?] | + | [https://blog.csdn.net/tanqian351/article/details/83827583 ELK搭建教程(全过程)] |
| | | |
− | == 参考==
| + | [https://www.cnblogs.com/xiaoqi/p/elk-part1.html ELK日志套件安装与使用ubuntu] |
− | [https://my.oschina.net/alphajay/blog/7737 Emacs快捷键的总结] | |
| | | |
− | [https://segmentfault.com/a/1190000003811296 走近emacs 201801]
| |
| | | |
− | [http://blog.csdn.net/cherylnatsu/article/details/6536959 Emacs常用命令快速参考]
| |
| | | |
− | [https://www.ibm.com/developerworks/cn/education/aix/emacs1-1/index.html 学习 Emacs 的基础知识]
| |
| | | |
− | [https://github.com/redguardtoo/mastering-emacs-in-one-year-guide 一年成为 Emacs 高手 ] | + | [https://www.jianshu.com/p/666c662f0068 ELK日志分析系统初体验] |
| | | |
− | http://emacser.com/
| |
| | | |
− | [https://linux265.com/soft/3857.html Emacs - 代码编辑神器之一] | + | [https://www.elastic.co/guide/cn/kibana/current/introduction.html kibana基础教程] |
| | | |
| | | |
− | Emacs 入门
| + | [https://blog.csdn.net/mjlfto/article/details/79772848 elasticsearch集成head插件查看es的数据] |
− | https://i.linuxtoy.org/docs/guide/ch25.html | |
| | | |
− | [https://www.emacswiki.org/emacs/%E9%A6%96%E9%A1%B5 emacswiki]
| + | *** |
| | | |
− | [https://www.jianshu.com/p/732157b02ecc Emacs,最强编辑器,没有之一] | + | [https://blog.csdn.net/buqutianya/article/details/71941351 日志系统ELK使用详解(一)--如何使用] |
| | | |
− | Emacs org mode
| + | [https://blog.csdn.net/buqutianya/article/details/72019264 日志系统ELK使用详解(二)--Logstash安装和使用] |
− | https://i.linuxtoy.org/docs/guide/ch32s03.html#id3155525 | |
| | | |
| + | [https://blog.csdn.net/buqutianya/article/details/72026768 日志系统ELK使用详解(三)--elasticsearch安装] |
| | | |
− | https://www.emacswiki.org/emacs?interface=zh-cn
| |
| | | |
− | https://www.cnblogs.com/blfshiye/p/4566900.html | + | [https://blog.csdn.net/buqutianya/article/details/72027209 日志系统ELK使用详解(四)--kibana安装和使用] |
| | | |
| | | |
− | https://www.gnu.org/software/emacs/manual/html_node/efaq/Installing-Emacs.html | + | [https://blog.csdn.net/buqutianya/article/details/72028868 日志系统ELK使用详解(五)--补充] |
| | | |
− | [https://www.gnu.org/software/emacs/tour/index.html A Guided Tour of Emacs]
| |
| | | |
− | Emacs - the Best Python Editor https://realpython.com/blog/python/emacs-the-best-python-editor/
| |
| | | |
− | Emacs:最好的Python编辑器 http://codingpy.com/article/emacs-the-best-python-editor/
| + | [https://www.cnblogs.com/zhang-shijie/p/5303905.html ELK 之一:ElasticSearch 基础和集群搭建] |
| | | |
− | [https://wiki.archlinux.org/index.php/Emacs_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#.E8.BF.90.E8.A1.8CEmacs Emacs (简体中文)] | + | [https://www.cnblogs.com/zhang-shijie/p/5377127.html ELK 之二:ElasticSearch 和Logstash高级使用] |
| | | |
− | [http://ergoemacs.org/emacs/emacs_package_system.html How to Install Packages Using ELPA, MELPA] | + | [https://www.cnblogs.com/zhang-shijie/p/5384624.html ELK 之三:Kibana 使用与Tomcat、Nginx 日志格式处理] |
| | | |
− | [http://www.cnblogs.com/xiaosha/p/3366422.html emacs python 配置] | + | [https://www.cnblogs.com/zhang-shijie/p/5464805.html ELK 之四:搭建集群处理日PV 四亿次超大访问量优化方法] |
| | | |
− | [https://maskray.me/blog/2015-09-18-conversion-to-emacs 皈依Emacs]
| |
| | | |
− | [https://elloop.github.io/tools/2016-03-01/emacs-accumulate-5-packages-extensions 【积水成渊-逐步定制自己的Emacs神器】3:为Emacs安装扩展] | + | [https://www.jianshu.com/p/4c1f2afa0b6c docker安装ELK后kibana的汉化] |
| | | |
− | ===wiki ===
| |
− | Wiki编辑器, 通过 Yaoddmuse 几乎能支持所有的Wiki格式, 实时语法高亮, 你不用担心保存以后确发现格式错了
| |
| | | |
− | https://www.emacswiki.org/emacs/Yaoddmuse | + | [https://www.cnblogs.com/xiaoqi/p/elk-part1.html ELK日志套件安装与使用] |
| | | |
− | [https://blog.csdn.net/freexploit/article/details/572224 用Emacs Wiki帮你写Blog] | + | [https://blog.csdn.net/BuquTianya/article/details/71941351 日志系统ELK使用详解(一)--如何使用] |
| | | |
− | ===2019===
| |
| | | |
− | [https://www.cnblogs.com/robertzml/archive/2009/09/10/1564108.html 学习Emacs系列教程(一):基本使用] | + | [http://www.ttlsa.com/elk/howto-install-elasticsearch-logstash-and-kibana-elk-stack/ ELK 部署指南ttlsa] |
| | | |
− | [http://longlycode.github.io/2016/01/28/emacs%E5%AE%8C%E5%85%A8%E8%A1%A5%E5%AE%8C%E8%AE%A1%E5%88%92-%E4%B8%80-1/ emacs完全补完计划(一)——嘴炮和入门]
| |
| | | |
− | [http://jixiuf.github.io/blog/emacs-%E8%87%AA%E5%B8%A6%E7%9A%84%E7%AE%80%E5%8D%95%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%28tutorial%29/ emacs 自带的简单入门教程(TUTORIAL)] | + | [https://blog.csdn.net/enweitech/article/details/81744250 ELK+kafka+Winlogbeat/FileBeat搭建统一日志收集分析管理系统] |
| | | |
− | [http://www.cnblogs.com/Open_Source/archive/2011/07/17/2108747.html Org-mode 简明手册]
| + | 日志分析 第一章 ELK介绍 |
| + | http://www.cnblogs.com/xiaoming279/p/6100613.html |
| | | |
− | [http://blog.csdn.net/grey_csdn/article/category/7131378/5 小灰笔记 emacs]
| + | 日志分析 第二章 统一访问日志格式 |
| + | http://www.cnblogs.com/xiaoming279/p/6101628.html |
| | | |
− | [https://www.jianshu.com/p/b4cf683c25f3 从零开始——Emacs 安装配置使用教程 2015]
| + | 日志分析 第三章 安装前准备及系统初始化 |
| + | http://www.cnblogs.com/xiaoming279/p/6101951.html |
| | | |
− | [https://zhuanlan.zhihu.com/p/87527003 编辑器终结者:vim与emacs双剑合璧]
| |
| | | |
− | [https://www.zhihu.com/question/30955165 Emacs有什么优点,用Emacs写程序真的比IDE更方便吗]
| + | 这里开始还没看 |
| + | 日志分析 第四章 安装filebeat |
| + | http://www.cnblogs.com/xiaoming279/p/6112715.html |
| | | |
− | === 参考 for python===
| + | [https://zhuanlan.zhihu.com/p/152217444 ELK 日志收集简易教程有配置和一点点使用] |
− | [http://codingpy.com/article/emacs-the-best-python-editor/ Emacs:最好的Python编辑器] | |
− | === 参考 for c===
| |
− | [https://segmentfault.com/a/1190000003878553 Emacs 中 C/C++ 编程基本环境配置]
| |
| | | |
− | [http://txgcwm.github.io/blog/2013/07/20/jiang-emacspei-zhi-cheng-%5B%3F%5D-ge-c-slash-c-plus-plus-de-idebian-cheng-huan-jing/#top 将Emacs配置成一个C/C++的IDE编程环境]
| |
| | | |
− | [http://blog.guorongfei.com/2014/09/16/emacs-c-cpp-python-config/ Emacs C、C++、Python 编程的简单配置]
| + | [[category:ops]] |
− | [[category:ops]] [[category:emacs]] | |