Глобальный поиск Vim в проекте

Существует две части в дешифровке, что означает "режим без предварительной обработки в шестнадцатеричном числе"; первое - то, что это находится в шестнадцатеричном числе, но режимы доступа обычно описываются в восьмеричном:

41ed16 = 407758
81a416 = 1006448

Если необходимо было посмотреть на /tmp, который обычно имеет ограниченный флаг удаления ('липкий бит') набор:

$ ls -ld /tmp
drwxrwxrwt 17 root root 4096 2012-05-31 13:45 /tmp
$ stat --format '%f %a' /tmp
43ff 1777

и преобразование:

43ff16 = 417778

"Режим без предварительной обработки в шестнадцатеричном числе" описан в руководстве программиста для функции статистики (man 2 stat), замечание, что они - восьмеричные значения:

The following flags are defined for the st_mode field:

S_IFMT     0170000   bit mask for the file type bit fields
S_IFSOCK   0140000   socket
S_IFLNK    0120000   symbolic link
S_IFREG    0100000   regular file
S_IFBLK    0060000   block device
S_IFDIR    0040000   directory
S_IFCHR    0020000   character device
S_IFIFO    0010000   FIFO
S_ISUID    0004000   set UID bit
S_ISGID    0002000   set-group-ID bit (see below)
S_ISVTX    0001000   sticky bit (see below)
S_IRWXU    00700     mask for file owner permissions
S_IRUSR    00400     owner has read permission
S_IWUSR    00200     owner has write permission
S_IXUSR    00100     owner has execute permission
S_IRWXG    00070     mask for group permissions
S_IRGRP    00040     group has read permission
S_IWGRP    00020     group has write permission
S_IXGRP    00010     group has execute permission
S_IRWXO    00007     mask for permissions for others (not in group)
S_IROTH    00004     others have read permission
S_IWOTH    00002     others have write permission
S_IXOTH    00001     others have execute permission

(Странно, страница справочника онлайн пропускает этот раздел.)

Это - немного поля, и мы видим, что последние четыре цифры соответствуют режиму доступа; ведущая цифра (в шестнадцатеричном числе) соответствует типу файла, таким образом, шестнадцатеричный режим 81a4 соответствует "каталогу, режим 0644", и шестнадцатеричный режим 41ed соответствует "регулярному файлу, режим 0775".

3
31.05.2013, 00:17
2 ответа

Вы могли бы хотеть взглянуть на беглеца: https://github.com/tpope/vim-fugitive. Вы могли использовать :Ggrep string команда, что объединило бы шаги 2, 3 и 5 Вашего примера.

Дополнительную информацию см. в этой ссылке на :Ggrep: http://vimcasts.org/episodes/fugitive-vim-exploring-the-history-of-a-git-repository/

1
27.01.2020, 21:28

Вот некоторые альтернативы, которые Вы могли бы хотеть проверить:

  1. ack-grep

  2. greplace.vim

  3. grep.vim

Я использую встроенное :vimgrep команда, это просто работает на меня. Для внешних инструментов я предпочитаю ack все же.

1
27.01.2020, 21:28

Теги

Похожие вопросы