A lot of Linux users eventually migrate to Vim or Emacs. They have steep learning curves, but near-infinite customizability. For a more notepad++ like editor, I hear good things about geany, but am a vim user myself.
In my opinion the choice of an editor is a very personal matter. If I were you, I would look at this list and try them one by one until I found one that worked for me. If all else fails, I noticed on that list that notepad++ is reported to work well with wine.
I have just finished reviewing the NPP source code, and have some additional details if you would like to seek a solution for yourself. When you go File -> Open, the list of file extensions is loaded from the Scintilla (SciLexer.dll) file.
Now, when you go File -> Open, the void Notepad_plus::fileOpen()
function is called (in the NppIO.cpp
file). Initially, the All Types, *.*
filter is added to the filter list, and then, the int Notepad_plus::setFileOpenSaveDlgFilters(FileDialog & fDlg, int langType)
function is called (in the same file). This function goes through the Scintilla entries I mentioned above, and adds them to the passed FileDialog
's filter list. The code in FileOpen
looks like this:
fDlg.setExtFilter(TEXT("All types"), TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);
You can change the default filter index. To do that, you can instead change those lines to this:
fDlg._ofn.nFilterIndex = 2L;
fDlg.setExtFilter(TEXT("All types"), TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);
That should set the filter index to the second one by default.
Another easy way to quick-fix this is to modify those lines (again, in NppIO.cpp
) to look like this:
fDlg.setExtFilter(TEXT("Text files"), TEXT(".txt"),
TEXT("All types"), TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);
That will ensure that Text files are the first filter on the list. Do note that this will cause the .txt extension to be double-defined in the entries, but if you can live with that caveat, this should work fine.
Best Answer
Yes, Install Python Script Plugin Plugin Manager.
After installing Python console, toggle the Python console.
Type this in the console:
to return all open files as a List type:
The code below is one-shot command to retrieve the file names, and is suitable for Python Script command line. You can extend it with persistent Python scripts.
Current File: Paste this code and hit Enter twice.
New File Paste this code.
It is also possible dump to an external file, this snippet from http://npppythonscript.sourceforge.net/ is easy to understand even if you are not familiar with Python:
Comprehensive documenation is avaible in http://npppythonscript.sourceforge.net/docs/latest/ with Python Primer tutorial.