4

ファイル/バッファ内の一意の単語をプログラミングするためにvimを使用する場合、(エーテル変数名、メソッド名、または言語構造の)タイプミスである可能性が非常に高くなります。したがって、ファイル内の一意の単語を強調表示する機能を使用して、そのようなタイプミスを検出する非常に優れた方法であり、高度な言語分析や解析を行う必要はなく、使用されているプログラミング言語を知る必要さえありません。もちろん、タイプミスをすぐに確認できるように、入力中にそれが発生するのが最善です. どういうわけか、私がそのようなアイデアを思いついた最初の人だとは思わないので、誰かがそのような設定を持っているか、何か提案がありますか?

4

1 に答える 1

2

独創的なアイデア。

この Vimscript スニペットを使用して簡単なプロトタイプを作成しました。

let stat = {}
for ii in range(1, line('$'))
    for word in split(getline(ii), '\(\k\@!.\)\+')
        let stat[word] = get(stat, word, 0) + 1
    endfor
endfor
echo sort(keys(filter(copy(stat), 'v:val == 1')))

$VIM/vim73/autoload/vimball.vim (737 行の 23.2 k ファイル) でそれを実行すると、次の単一のキーワードが出現します。

12, 1502, 2004, 2009, 2010, 299, 31, 4, 702, Allow, Apr, At, Author,
AutoInstall, Constants, Copyright, Date, DechoTabOn, ENTER, Error,
Functions, GetLatestVimScripts, Input, LICENSE, Listing, Load, Modelines,
No, Normal, Once, Output, Own, Ph, Risk, Statement, Usage, Use, VIM,
Version, Vim, Windoze, Your, about, accomplished, actions, allow, already,
appear, appears, applies, apportion, assume, attempts, automatically, base,
based, bash, both, bypass, c, ch, change, construct, continue, copyright,
cp, cr, create, creates, cygwin, decompress, decompression, defined, did,
dir, distribute, does, doesn, embedded, enc, endfor, even, events,
evidence, except, existing, express, extraction, fmr, fo, force, function,
getpos, give, given, grab, ie, implied, included, index, initialize, input,
inputrestore, inputsave, insure, invoked, its, just, keep, keepcpo, list,
listing, loop, made, messages, missing, mkvimball, named, neither, next,
noacd, nofile, noma, nor, normal, noruler, noshowcmd, ok, older, on,
option, options, over, patch, pick, picked, placed, present, previous,
prologue, prompt, read, readable, redraw, removed, same, see, setpos,
setting, settings, shell, showing, skip, specified, specify, spite, split,
standard, string, strlen, sure, suspect, switch, ta, tab#, take, that,
title, true, un, undefined, under, used, v31, various, warning, warranty,
was, when, where, will, wrote, your, zsh

うーん、私にはあまり役に立たないように見えます (コメントを除外してもあまり良くなりません) が、これを利用して改善できるかもしれません。

于 2012-06-27T10:18:43.400 に答える