はじめに
多くの人が
問題の声明
次のタスクに直面していると仮定します(人生から取られた)。
1.テキストの選択されたフラグメント(何も選択されていない場合は、ドキュメント全体):
- 行の先頭にある文字「@」に番号を付け、「@」を「@ 1」、「@ 2」などに置き換えます。
- 連続する2つ以上の空の(スペースとタブを含む)行を削除します。
3.テキストの選択したフラグメント(または選択がない場合はドキュメント全体)に「@」記号がない場合、対応するエラーメッセージが表示されます。
4.スクリプトを実行する機能があるはずです。
- ツールバー上の対応するボタンを押すことにより;
- キーボードショートカットの使用。
- マウスの右ボタンのコンテキストメニューから。
解決策
最初に、 Python Scriptという
次に、メニューから「
# -*- coding: utf-8 -*- # Notepad++, "@", # text = editor.getSelText() isSelection = True # , if not text: isSelection = False text = editor.getText() # "@", import re occurrencesCount = len(re.findall('^@', text, flags=re.MULTILINE)) # "@" , if occurrencesCount == 0: notepad.messageBox(' 1 "@" ', ' ', MESSAGEBOXFLAGS.ICONEXCLAMATION) # "@" , else: countStartFrom = '' # , while not countStartFrom.isdigit(): countStartFrom = notepad.prompt(' , "@":', ' "@"', '1') if countStartFrom == None: break if countStartFrom != None: # text = re.sub('\r\n\\s*\r\n', '\r\n', text) # / text = re.sub('\r\n\s*$|^\s*\r\n', '', text, flags=re.MULTILINE) # countStartFrom countStartFrom = int(countStartFrom) # , "@" def addNumber(matchobj): global countStartFrom countStartFrom += 1 return '@'+str(countStartFrom-1) # "@", text = re.sub('^@', addNumber, text, flags=re.MULTILINE) # if isSelection: editor.replaceSel(text) else: editor.setText(text)
スクリプトを「Empty Lines And Count」と呼ぶと、メニューPlugins-> Python Script-> Scripts-> Empty Lines And Countから実行できます。 ボタンをツールバーに追加し、キーボードショートカットで起動できるようにするには、プラグイン設定(プラグイン-> Pythonスクリプト->設定 )で、作成したスクリプトを選択し、メニューとツールバーに追加します。 現在、
[ プラグインコマンド]セクションの[設定]-> [ショートカットマッパー ]メニューで、スクリプトにキーボードショートカットを割り当てることができます 。
スクリプトを
<Item PluginEntryName="Python Script" PluginCommandItemName="Empty Lines And Count" ItemNameAs=" '@'"/> <Item id="0"/>
以上です。 複雑なロジックを使用した日常的なアクションでも、ワンクリックで実行できます。
便利なリンク: