vi/emacs 搜索文件中的特定字符串

1.如何在某一目录及其子目录下查找含有特定字符串的所有文件?

grep -rl "string" /path

Or

find /path -type f -exec grep -l "string" {} \;

2.如何在某一目录及其子目录下查找含有特定字符串的所有记录行?

find . -name "*.txt" -print | xargs grep -n "hello"

3.如何打印出制定文件中含有特定字符串的行?

sed -n '/pattern/p' file_name

Or

awk '/pattern/ {print}' file_name

4.如何使用Emacs打开多个文件,搜索特定的字符串

  1. 打开多个文件: emacs -nw file1.txt file2.txt file3.txt
  2. C-x C-b 列出所有的缓冲区,C-x o定位到缓冲区,移动光标选择某一个文件打开或者使用C-x b然后输入文件名打开指定文件缓冲区
  3. M-<移动到缓冲区的开头;M->移动到缓冲区的结尾
  4. C-s C-r匹配字符,到达目标时按Enter或C-g来终止搜索
  5. 切分窗口:C-x 1(垂直切分),C-x 2(水平切分),可以一次查看多个文件。定位到其他打开的窗口:C-x o或者
    功能 描述
    M-x windmove-up 移动到正好位于当前窗口上方的窗口,如果该窗口存在的话。
    M-x windmove-down 移动到正好位于当前窗口下方的窗口,如果该窗口存在的话。
    M-x windmove-left 移动到正好位于当前窗口左边的窗口,如果该窗口存在的话。
    M-x windmove-right 移动到正好位于当前窗口右边的窗口,如果该窗口存在的话。

关闭窗口:

  1. 关闭当前缓冲区C-x k
  2. 关闭当前窗口C-x 0;关闭除了当前窗口之外的窗口C-x 1;kill-buffer-and-window: C-x 40

你可能感兴趣的:(vi/emacs 搜索文件中的特定字符串)