不喜欢 IDE?试试看 grepgitvi

一个简单又原始的脚本来用 Vim 打开你选择的文件。

一个简单又原始的脚本来用 Vim 打开你选择的文件。

不喜欢 IDE?试试看 grepgitvi

像大多数开发者一样,我整天都在搜索和阅读源码。就我个人而言,我从来没有习惯过集成开发环境 (IDE),多年来,我主要使用 grep (找到文件),并复制/粘贴文件名来打开 Vi(m)。

最终,我写了这个脚本,并根据需要缓慢地对其进行了完善。

它依赖 Vimrlwrap,并使用 Apache 2.0 许可证开源。要使用该脚本,请将它放到 PATH 中,然后在文本目录下运行:


grepgitvi <grep options> <grep/vim search pattern>

它将返回搜索结果的编号列表,并提示你输入结果编号并打开 Vim。退出 Vim 后,它将再次显示列表,直到你输入除结果编号以外的任何内容。你也可以使用向上和向下箭头键选择一个文件。(这对我来说)更容易找到我已经看过的结果。

与现代 IDE 甚至与 Vim 的更复杂的用法相比,它简单而原始,但它对我有用。

脚本

“`

!/bin/bash

grepgitvi – grep source files, interactively open vim on results

Doesnt really have to do much with git, other than ignoring .git

#

Copyright Yedidyah Bar David 2019

#

SPDX-License-Identifier: Apache-2.0

#

Requires vim and rlwrap

#

Usage: grepgitvi

#

TMPD=$(mktemp -d /tmp/grepgitvi.XXXXXX)
UNCOLORED=${TMPD}/uncolored
COLORED=${TMPD}/colored

RLHIST=${TMPD}/readline-history

[ -z “${DIRS}” ] && DIRS=.

cleanup() {
rm -rf “${TMPD}”
}

trap cleanup 0

find ${DIRS} -iname .git -prune -o ! -iname “.min.css” -type f -print0 > ${TMPD}/allfiles

cat ${TMPD}/allfiles | xargs -0 grep –color=always -n -H “$@” > $COLORED
cat ${TMPD}/allfiles | xargs -0 grep -n -H “$@” > $UNCOLORED

max=cat $UNCOLORED | wc -l
pat=”${@: -1}”

inp=”
while true; do
echo “============================ grep results ===============================”
cat $COLORED | nl
echo “============================ grep results ===============================”
prompt=”Enter a number between 1 and $max or anything else to quit: ”
inp=$(rlwrap -H $RLHIST bash -c “read -p \”$prompt\” inp; echo \$inp”)
if ! echo “$inp” | grep -q ‘^[0-9][0-9]*$’ || [ “$inp” -gt “$max” ]; then
break
fi

    filename=$(cat $UNCOLORED | awk -F: "NR==$inp"' {print $1}')
    linenum=$(cat $UNCOLORED | awk -F: "NR==$inp"' {print $2-1}')
    vim +:"$linenum" +"norm zz" +/"${pat}" "$filename"

done
“`


via: https://opensource.com/article/20/2/no-ide-script

作者:Yedidyah Bar David 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

主题测试文章,只做测试使用。发布者:eason,转转请注明出处:https://aicodev.cn/2020/02/26/%e4%b8%8d%e5%96%9c%e6%ac%a2-ide%ef%bc%9f%e8%af%95%e8%af%95%e7%9c%8b-grepgitvi/

(0)
eason的头像eason
上一篇 2020年2月26日
下一篇 2020年2月27日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信