Notepad++: Capitalize first letter by Shortcut?

2019-03-08 20:04发布

I've got a huge list of words (every single word in one line in a txt file) and certain words need to get capitalized manually (e.g. by hand), so I was looking if there's a shortcut in notepad++ (my editor currently) to automatically capitalize the first letter of a line but couldnt find one. Is there none? If not, can you advise me an alternative windows program to quickly do this by using a simple shortcut (so I can go through with the arrow-down key and use the shortcut whenever needed on a specific word)? thanks a lot

10条回答
何必那么认真
2楼-- · 2019-03-08 20:49
  1. Open you file in notepad++
  2. Hit ctrl + F
  3. Click on Replace tab
  4. Put \n[the letter you wanna capitalize] inside "Find what" field
  5. Put \n[the letter capitalized] inside the "Replace with" field
  6. Set the search mode to "Extended"
  7. Hit Replace All button

This will capitalize every first letter of a line. You can modify this method to capitalize under other conditions

查看更多
放我归山
3楼-- · 2019-03-08 20:52

This can be easily done if the first letters are latin characters. But this method does not work with non-latin (for example cyrillic) characters. Just press Ctrl+F, enable "Regular Expression" checkbox, and search for

^(.)

replace with (Replace All)

\u\1

". matches newline" checkbox has to be unchecked

查看更多
唯我独甜
4楼-- · 2019-03-08 20:53

Have you tried recording a macro and then assigning it to a shortcut?

e.g. Your replacement could be:

Find what:    (\A|[.!?]\s+)(\w+)
Replace with: $1\u$2

Tick 'In selection'

And then navigate to MacroModify Shortcut/Delete Macro... in the top menu and assign a shortcut.


This is the resulting macro that I extracted from C:\Users\%USERNAME%\AppData\Roaming\Notepad++\shortcuts.xml.

It uses the shortcut Ctrl + Shift + C

<Macro name="Capitalise" Ctrl="yes" Alt="no" Shift="yes" Key="67">
    <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1601" wParam="0" lParam="0" sParam="(\A|[.!?]\s+)(\w+)" />
    <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
    <Action type="3" message="1602" wParam="0" lParam="0" sParam="$1\u$2" />
    <Action type="3" message="1702" wParam="0" lParam="896" sParam="" />
    <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
</Macro>
查看更多
forever°为你锁心
5楼-- · 2019-03-08 20:59

You can do it quick in an unortodox way, but you'll need TotalCommander.

Create new file with a name containing text you want to capitalize. Select this file in TotalCommander. Press Ctrl+M (Multirename Tool). In "Uppercase/Lowercase" dropdown select "First of each word uppercase".

Under Windows. There is a draw back: filename limits to 255 characters if i'm not mistaken. And some special characters will be ommited (slashes, double quote, etc).

Also similar software like Far should work in the same way I think.

查看更多
登录 后发表回答