[eshell 命令行ps -ef | grpe java后,无法显示全命令行参数](#org4d80c56) |
好久没有更新了,今年看能坚持多久!
ctrl x 4 b
ctrl x f ctrl o,焦点不过去
ctrl w 剪切,cmd w 复制
ctrl y 粘贴
C-c C-l 编辑链接(此处为小写L)
C-c C-o 打开链接(相当有用)
ctrl / 非常有用的撤销功能
具体怎么改你得看org-structure-template-alist的文档(C-h v org-structure-template-alist)
滚动另外一个窗口的屏幕向下/向上 ctrl cmd v/ctrl shift cmd v
比如我要看当前区域的代码是 who/which commit 提交的。这种都是临时性的需求,因此它是通过特殊 command(C-c M-g b) 以开关的形式操作的(不然看起来太乱了)
= 比较文件
v 查看文件
D 删除文件
C 拷贝
R 重命名
Z 压缩
w 复制文件名
m 标记
u 取消标记
C-c * 将本行设置为标题/正文
cmd shift &; 异步执行程序
cmd shift !;执行程序,命令行比较少
需要在eshell中执行,alias gs ‘git log $*’
每次只执行一次,emacs会自动记忆这个配置,内容保存在.eamcs.d/eshell/alias文件中ps:ctrl c + ctrl , => 快速调用引用 并选择要插入的内容
org教程3
ctrl c,ctrl l ;插入链接
ctrl c,’ ;插入代码??
[0/1]
[ ]
[100%]
ppp4. 标题间跳转
在文件开头加上
\#+OPTIONS: \n:t
或者 (setq org-export-preserve-breaks t)
建立好了tag系统,可以将相关信息收集到一个表中
C-c / m 或 C-c \ 标准检索, 按照tag进行检索
C-c a m 按标签搜索多个文件 需要把文件加入全局agenda
支持新建templage
ctrl c & ctrl n
/< 文件末尾和开头
ctrl h ,m mod模块帮助
ctrl h ,f/v/k 查询命令、变量、快捷键
project-find-name 搜索文件名
project-find-rgrep 搜索文件中的文本内容,linux和mac使用很爽
另外两个搜索
搜索参数定义
搜索所有函数引用
M-x xref-find-definitions:查找符号定义。
M-x xref-find-references:查找符号引用。
(global-set-key (kbd “C-c d”) ‘xref-find-definitions) ;; 绑定到 C-c d
(global-set-key (kbd “C-c r”) ‘xref-find-references) ;; 绑定到 C-c r
generate_tags.sh; shell脚本生成tags文件
#!/bin/bash
# 生成 TAGS 文件,支持多种语言
find . \( -name "*.java" -o -name "*.js" -o -name "*.jsp" -o -name "*.html" -o -name "*.css" -o -name "*.cpp" -o -name "*.hpp" -o -name "*.go" -o -name "*.py" -o -name "*.php" -o -name "*.sh" -o -name "*.yaml" -o -name "*.yml" \) -print | etags -
echo "TAGS file generated successfully."
chmod +x generate_tags.sh
./generate_tags.sh
自动加载
(setq tags-table-list '("~/project1/TAGS" "~/project2/TAGS"))
加载:M-x visit-tags-table。
查找定义:M-.。
查找引用:M-x xref-find-references。
windows系统文件使用gbk,emacs默认支持utf8
用字符串递归搜索文件内容时,会遭遇不确定的乱码问题,目前无法解决
换一种方式,使用“rg”的方式进行查询,它支持多种文件字符集格式的查找,
需要再验证下,是否可以解决windows中使用emacs进行文本查询的问题
注意,需要添加git的环境变量路径,因为它会使用习惯linux命令
emacs推荐插件10个 ctrl-c,ctrl-l 插件
mac使用 ctrl shift 上下,直接就可以选择文本了,这个真方便
ido是文件夹提示
smex是命令提示
这两个插件很方便
w 拷贝当前页面 URL
G 访问指定的url地址
g 刷新当前页面
q 退出
l 后退
r 前进
H 历史查看
& 外部网页访问
v 查看网页源码
b 添加当前网页到书签
B 查看书签
R 开启阅读模式
n/p 自动跳转到下一页/上一页
M-RET 在新 buffer 内打开链接
grep –color=auto -nH –null -e “images” -r
递归-r
html文件中应该是绝对路径
/images/11.png
**需要手工修改**,此处需要注意
脚本要修改,copy的目标路径,html文件的png改为绝对路径
显示与不显示图片的快捷键
C-c C-x C-v:切换图片的内联显示(toggle inline images)。这个命令可以让你在显示和隐藏图片之间切换。
– #+ATTRORG: :width 60%
emacs shell添加书签未成功,eshell尝试了下可以的
eshell是emacs内置shell,完全emacs lisp编写,更集成与emacs环境
注意要使用 cd ssh:myu@192.168.1.13: 方式打开,没有cd 无法显示正常的文件颜色
如下图示例
M-x eshell: 启动 Emacs 自己的 shell 实现,它完全用 Emacs Lisp 写成,更加集成 Emacs 功能。
M-x term: 这个命令提供了一个更接近传统终端的环境,支持复杂的文本界面,比如那些用于文本编辑器或音乐播放器的界面。
M-x ansi-term: 类似于 term,但它更好地支持 ANSI 转义序列,更适合需要运行交互式程序的情况
```
(defun my-new-eshell ()
“Open a new uniquely named eshell instance.”
(interactive)
(let ((eshell-buffer-index (1+ (length (seq-filter (lambda (buf)
(string-prefix-p “eshell” (buffer-name buf)))
(buffer-list))))))
(eshell eshell-buffer-index)))
```
将这个函数添加到书签中:
首先,确保你已经安装并加载了 bookmark 模块。
使用 M-x bookmark-set 命令创建一个新书签,当提示你命名书签时,你可以命名为 “New Eshell”。
打开书签列表 (M-x bookmark-bmenu-list),找到你刚才创建的书签,然后按 e 来编辑这个书签。
将 filename 改为你的 Emacs Lisp 文件位置,并将 handler 设置为 my-new-eshell。
通过 C-u M-x eshell 完成。这样做会提示你输入一个缓冲区编号
– #+ATTRORG: :width 60%
```
(add-hook ‘eshell-mode-hook
(lambda ()
(setq truncate-lines nil)))
ps -ef | grep java | less -S |
```
ps: sudo -s 切换到root账号后
再ps,可以显示全部命令,并且可以换行
ps: 经过测试,发现如下配置也可以安装,修改源
(setq package-check-signature nil)
(setq package-archives
'(("gnu" . "https://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/")))
快速唤出方式
mysrc + tab 键
s:add 增加
cc:commit 添加注释
ctrl c + ctrl c :确认提交
P p:push推送到远程
帮助信息:ctrl h,m
L head , 空格查看,光标不移动;回车查看,光标移动
magit-status
绑定的命令:ctrl x g
s stage;u unstage
c , c commit
ctrl c,ctrl c 提交
推送 push为 P,u 即可完成远程仓库的推送
magit-find-file,我们可以比如绑定到C-x m f,它可以指定访问某个分支中某个文件,且是放到一个临时的 buffer,只能说极其好用
h 显示帮助命令
magit使用的文档,日文版本的,感觉还不错
https://joppot.info/posts/f2721fb2-0942-4c4e-90e2-0dbdbb329bce
Magit 会高亮冲突的文件,显示 Unmerged 状态。
按 e 打开冲突文件,手动解决冲突。
冲突解决后,按 s 将文件标记为已解决。
最近着迷emacs,刷leetcode题想也用下(可以排除干扰),
下载了两个插件,一个是官方的插件,还有一个leetcode-cn改造版本,
感觉第二个改动比较小,以前没有接触过lisp语言,临时抱佛脚了一把,
居然被我调通了,特此记录下。
安装leetcode-cn,是否工下载的包,直接手工配置,参考如下:
;; leetcode-cn.el-master leetcode-20241115.527-elpa.bk emacs安装graphql插件 (add-to-list ‘load-path “~/.emacs.d/leetcode-cn.el-master/”) (add-to-list ‘exec-path “/home/myu/.local/bin/”) ;;(add-to-list ‘exec-path “/home/myu/.local/bin”) ;;(add-to-list ‘load-path “~/.emacs.d/leetcode-20241115.527-elpa.bk/”) (require ‘leetcode) (setq leetcode-prefer-language “java”) (setq leetcode-display-results nil) ;; 禁用结果中的样式显示 ;;(setq leetcode-site “https://leetcode.cn/”) ;;(setq leetcode-site “https://leetcode-cn.com/”) ;; 其他设置,比如保存解答 (setq leetcode-save-solutions t) (setq leetcode-directory “~/leetcode”) (setq leetcode-prefer-sql “mysql”)
还手工安装了这几个插件
emacs package-install graphql spinner
还有这些: 1687 pip3 install graphql 1871 pip3 install semgrep 1874 sudo snap install semgrep 1913 pip3 install jeepney 1915 pip3 install browser-cookie3 1917 pip3 install jeepney 1918 pip3 install dbus-python
到这里,更郁闷的来了,可以显示leetcode问题,总是提交失败,没办法硬着头皮调试leetcode.el代码,
最后找到这段代码后面没执行,(let* ((my-cookies (executable-find “mycookies”));直接
将路径写死,然后问题就解决了。
(aio-defun leetcode–login () “Steal LeetCode login session from local browser. It also cleans LeetCode cookies in `url-cookie-file’.” ;;(debug) (leetcode–loading-mode t) (message “leetcode–login—”) (ignore-errors (url-cookie-delete-cookies leetcode–domain)) (message “leetcode–login—222”) (aio-await (leetcode–csrf-token)) ;knock knock, whisper me the mysterious information (message “3333”) (message “exec-path: %s” exec-path)
;;/home/myu/.local/bin/my_cookies ;;/home/myu/.local/lib/python3.10/site-packages/my_cookies ;;(message “Does my_cookies exist? %s” (file-exists-p “/home/myu/.local/lib/python3.10/site-packages/my_cookies”)) (message “my_cookies output: %s” (shell-command-to-string “/home/myu/.local/bin/my_cookies -d leetcode.cn”)) (let* ( (message “444000”) (my-cookies “/home/myu/.local/bin/my_cookies”) ;;(let* ((my-cookies (executable-find “my_cookies”)) (message “444”) ;;(debug) (my-cookies-output (shell-command-to-string (concat (shell-quote-argument my-cookies) “ -d leetcode.cn”))) (message “555”) ;;(debug) (cookies-list (seq-filter (lambda (s) (not (string-empty-p s))) (split-string my-cookies-output “\n”))) (cookies-pairs (seq-map (lambda (s) (split-string s)) cookies-list)) (leetcode-session (cadr (assoc “LEETCODE_SESSION” cookies-pairs))) (leetcode-csrftoken (cadr (assoc “csrftoken” cookies-pairs)))) (leetcode–debug “login session: ‘%s’” leetcode-session) (leetcode–debug “login csrftoken: ‘%s’” leetcode-csrftoken) (url-cookie-store “LEETCODE_SESSION” leetcode-session nil leetcode–domain “/” t) (url-cookie-store “csrftoken” leetcode-csrftoken nil leetcode–domain “/” t)) (aio-await (leetcode–csrf-token)) ;knock knock, whisper me the mysterious information (leetcode–loading-mode -1))
今天先到这里,后面再研究研究为什么
oemacs 与 vim 命令对比(网上摘录)
-----------------------------------------------------------------
exit: C-x C-c :qa /:wq /:xa /:q!
Get back/command mode: C-g <esc>
Backward(left): C-b h
Forward(right): C-f l
Next(down): C-n j
Previous(up): C-p k
stArt of line(^): C-a 0
End of line($): C-e $
mUltiple commands: C-u nnn cmd nnn cmd
Multiple commands: M-digitkey cmd
save File: C-x C-s :w
beginning of buffer: M-< 1G
end of buffer: M-> G
*scroll forward 1 screen*: C-v ^F
scroll forward 1/2 screen: ^D
scroll forward 1 line: ^E
*scroll backward 1 screen*: M-v ^B
scroll backward 1/2 screen: ^U
scroll backward 1 line: ^Y
scroll the other window: M-C-v
delete under cursor: C-d x
delete from cursor to eol: C-k D
iSearch forward: C-s
isearch Reverse: C-r
Search forward: C-s enter /
search Reverse: C-r enter ?
isearch regexp: M-C-s
isearch backward regexp: M-C-r
search regexp: M-C-s enter /
search backward regexp: M-C-r enter ?
Help: C-h C-h :help
Help Apropos: C-h a
Help key Bindings: C-h b :help [key]
Help Info: C-h i
Help Major mode: C-h m
Help tutorial: C-h t :help howto
Undo: C-_ u
Redo: C-f ^R
Mark cursor position: C-x r SPC m{a-zA-Z}
eXchange Mark and position: C-x C-x
goto mark in current file: C-x r j '{a-z}
goto mark in any file: '{A-Z}
*copy region*: M-w {visual}y
kill region: C-w {visual}d
*Yank and keep buffer*: C-y
Yank from kill buffer: M-y p
convert region to Upper: C-x C-u {visual}U
convert region to Lower: C-x C-l {visual}u
Insert special char: C-q octalnum/keystroke
^V decimal/keystroke
*replace*: M-x replace-string :%s/aaa/bbb/g
replace regexp: M-x replace-regexp :%s/aaa/bbb/g
query replace: M-% :%s/aaa/bbb/gc
query replace: M-x query-replace
query replace regexp: M-x query-replace-regexp
Open file: C-x C-f :r file
Save file: C-x C-s :w
Save all buffers: C-x s :wa
Save as: C-x C-w file :w file
Prompt for buffer: C-x b
List buffers: C-x C-b :buffers
Toggle read-only: C-x C-q :set ro
Prompt and kill buffer: C-x k
Split vertical: C-x 2 :split
Split horizontal: C-x 3 :vsplit (ver. 6)
Move to other window: C-x o ^Wp
Delete this window: C-x 0 :q
Delete other window(s): C-x 1 ^Wo
run shell in bg: M-x compile
kill shell run in bg: M-x kill-compilation
run make: :make Makefile
check error message: C-x` :echo errmsg
run shell and record: M-x shell :!script -a tmp
...clean BS, ... :!col -b <tmp >record
...save/recall shell record: C-x C-w record :r record
run shell: M-! sh :sh
run command: M-! cmd :!cmd
run command and insert: C-u M-! cmd :r!cmd
run filter: M-| file {visual}:w file
run filter and insert: C-u M-| filter {visual}:!filter
show option :se[t] {option}?
reset option to default :se[t] {option}&
reset boolean option :se[t] no{option}
toggle boolean option :se[t] inv{option}
wrap text at column 72 :se tw=72
do not wrap :se tw=0
autoindent :se ai
expand tab :se et
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/hejinjing_tom_com/article/details/51700911
github下载文件,zenburn-theme.el
(add-to-list ‘custom-theme-load-path “~/.emacs.d/themes/”)
(load-theme ‘zenburn t)
shutdown /h
tcpdump -n -X -s 0 host 192.168.1.7 -w tt.pcap
- 为命令参数, host为过滤命令
读pcap文件
tcpdump -n -X -r tt.pcap
总结下它们使用命令的联系和区别
ctrl shift cmd 4 截图到剪贴板
ctrl y 粘贴到org文档中
alt+x,
org-download-clipboard
参考:
https://blog.csdn.net/daerzei/article/details/104128992
新建/编辑
ctrl c,ctrl l
tab
https://blog.csdn.net/daerzei/article/details/104128992
打开
ctrl c ,ctrl o
配置第五行
跳转到test.org文件的A锚点处
<file:///docs/test.md>