25

一部のプロジェクトでNotepad++を使用していますが、テキストが選択されていないときに現在の行全体を切り取りまたはコピーするVisual StudioのCtrl+ XCtrl+機能がありません。Cカットラインショートカットは+のように見えますがCtrl、これは+Lほど便利ではなく、コピーショートカットは+ 、+のように見えますが、これはさらに便利ではありません。CtrlXCtrlDCtrlL

以前にも同様の質問がありましたが、Notepad ++でこれを行う方法が提供されておらず、Notepad++サイトまたはそのフォーラムで解決策を見つけることができません。

4

8 に答える 8

26

これを行う Notepad++ プラグインを作成しました (Python は必要ありません)。https://bitbucket.org/zastrowm/notepad-visualstudiolinecopyで見つけることができます。

于 2012-12-29T21:00:51.710 に答える
22

他のすべての回答とコメントに加えて、言及されていないいくつかの追加の必要な手順を統合します。

Scintilla は、これを行う「copyAllowLine」コマンドを提供します。Notepad++ はショートカット マッパーでそのコマンドを公開しませんが、Python スクリプトから呼び出してCtrl+Cをそのスクリプトにマップすることができます。「cutAllowLine」に対応するコマンドはありませんが、Python コードを少し追加するだけで実行できます。これらのスクリプトをメニューに追加し、Notepad++ を再起動してからショートカット マッパーで使用できるようにする必要があります。

  1. Python Scriptプラグインをインストールします (Notepad++ Plugin Manager で実行できます)。

  2. メニューの Plugins -> Python Script -> New script を使用して、次の 2 つの Python スクリプトを作成します。

    copyAllowLine.py

    editor.copyAllowLine()
    


    cutAllowLine.py

    if editor.getSelectionStart() == editor.getSelectionEnd():
        editor.lineCut()
    else:
        editor.cut()
    


  3. Python スクリプト -> 構成

    • [ユーザー スクリプト] の下に、各スクリプトのメニュー項目を追加します。

  4. notepad ++を再起動します(重要)

  5. 設定 -> ショートカット マッパー...

    • Scintilla Commandsの下で、 Ctrl+CCtrl+の既存の関連付けを削除しXます。

    • [プラグイン コマンド]の下で、作成したばかりのスクリプトを見つけて、ショートカットをそれらにマップします。

注: プラグイン マネージャー経由でインストールすると、バージョン 1.0.6 がインストールされました。Notepad++ で Python 関連のものを実行しようとすると、プラグイン マネージャーから不明な例外が発生しました。解決策は、 1.0.8 インストーラーから 1.0.8 .msi を手動でダウンロードしてインストールすることでした。

于 2011-11-29T21:59:33.673 に答える
3
  1. NppPythonプラグインをインストールします(Notepad ++プラグインマネージャーで実行できます)
  2. メニューの[プラグイン]->[Pythonスクリプト]->[新しいスクリプト]を使用して、このPythonスクリプトを作成します。

    if editor.getSelectionStart() == editor.getSelectionEnd():
        editor.lineCut()
    else:
        editor.cut()
    
  3. notepad ++を再起動します(重要)

  4. [メニュー設定]->[ショートカットマッパー]->[プラグインコマンド]に移動します

  5. リストで作成したばかりのスクリプトを見つけて、CTRL+Xショートカットを設定します

  6. 楽しみ!

于 2011-10-03T03:50:37.010 に答える
2

[設定] -> [ショートカット マッパー] に移動し、上部の [Scintilla コマンド] タブをクリックします。Ctrlその下で、 +LコマンドをCtrl +に変更できるはずですX

于 2009-03-06T17:55:51.307 に答える
1

MackieChanのプラグイン: notepad-visual studio line copy

次のようにセットアップする必要があります。

  1. notepad++/plugin フォルダに入れます

  2. メモ帳++を開く(再起動)

  3. [設定] -> [ショートカット マッパー] で

    Scintilla Commandsの下で、 Ctrl + C,X の既存の関連付けを削除します

    [プラグイン コマンド]の下で、作成したばかりのスクリプトを見つけて、ショートカットをそれらにマップします。

于 2014-03-06T19:53:23.683 に答える
1

Python Script Notepad++ プラグインを使用してスクリプトを追加し、スクリプトにCtrl+Cを割り当てることができます (ショートカット マッパーの [Scintilla コマンド] タブで SCI_COPY からCtrl+マッピングを削除します)。C

スクリプトは次のとおりです。

if editor.getSelectionStart() == editor.getSelectionEnd():
    line = editor.getCurLine()
    editor.copyText(line)
else:
    editor.copy()

明らかに、代わりに行を削除する Ctrl-X 用の別の同様のスクリプトを追加するだけです。

于 2010-09-05T08:27:17.520 に答える
-2

Ctrlグローバル キー イベント フックを使用してプログラムを作成できます。 +を実行するたびに、Xメモ帳 ++ が実行中の最優先のアプリケーションであるかどうかを確認し、画面を取得し、テキストが選択されているかどうかを確認します (スクリーンショットとメモ帳 ++ の色設定を見て)。 、およびCtrl+をシミュレートする WM_KEYPRESS メッセージを notepad++ ウィンドウに送信Lします (Windows を使用していると仮定します)。

(ただし、これは行をクリップボードに入れません。許可するには、文字認識を行う必要があります)

于 2010-09-03T23:20:54.333 に答える