I am trying to edit a .srt file, and I am stuck on a specific task. I am sure there may be an easier way, but after searching for a couple hours, I am unable to find anything that helps me. I am trying to select all occurrences of the string "1" and then use the column editor to increment those occurrences by 1.
The first picture here shows the main issue in my .srt file. I am wanting to Select, not highlight all of the values that are currently highlighted in green. The find and replace box doesn't seem to help any because I need to do my increment operation using the column editor on the selected string. I have also tried the mark feature and that didn't do any good either.
Once I have them selected I can do These operations.
I know that I can hold the ctrl key down and manually select the lines that I need to edit, but that would take forever. It is kind of frustrating knowing that the text I need to select is already highlighted in green, but not selected. I am only a novice user when it comes to Notepad++ so I don't know all the features. Any help would be much appreciated. Thanks.
This is not possible to select that text easily. However, if you have PythonScript plug-in, this is easily done with Python script like
counter = -1
def increment_whole_line_number(match):
global counter
counter += 1
return str(int(match.group())+counter)
editor.rereplace(r'(?m)^\d+$', increment_whole_line_number)
The (?m)^\d+$ regex matches a whole line that consists of digits only (1 or more digits).
Here are the instructions on how to install the working PythonScript version (as the built-in does not work for me for some reason).
Here is my test:
Related
I have been facing a strange issue lately. So, the user has the ability to change value of the cell from the userform window, however, after apply changes somehow the values go from the right to the left (only ones with decimals) and that creates a problem when the data is read by another software (Matlab) it can not be read. I have tried to reformat it as number or general to see what happens but nothing. The only thing that changes it back to the right is (find & Replace "," with ","). Anyone knows why this happens? Any solutions ? (see picture for demonstration)
Maybe look in the code for the user form. As I understand it the edit box treats everything as a string. So when the number goes initially from the sheet to the form it is converted into a string. Hence when it is written back, the sheet thinks it’s a string. In the code underlying the form you need to intervene and turn the string back to a number (eg using CDbl() ). If you enter a value (or change) a number directly on the sheet, Excel will try and be ‘helpful’ and convert things that look like numbers into numbers (it does the same with dates). – Solution by #DS_London
It seems impossible to find a very simple working example for an RTF numbered list that looks like this:
1. The first line
2. The second line
I tried to make a small sample by using Word but they produce a lot of garbage. Can anyone help out?
Somewhere I got this, but it's not working, only the first line is bulleted, more lines get appended to the first line.
\pard{\pntext\f0 1.\tab}\*\pn\pnlvlbody\pnf0\pnindent0\pnstart1\pndec{\pntxta.}}\fi-360\li480\sa50\sl0\slmult1 The first line
(My target is the RTF Edit box of Windows, so I'm not all concerned about backwards compatibility with older RTF readers like Word 6 which do not understand numbered lists and need fallback text formatted to look list numbers.)
The following works for me with the Windows RichTextBox control and Word version 1803:
{\rtf1
\pard{\pntext\f0 1.\tab}\*\pn\pnlvlbody\pnf0\pnindent0\pnstart1\pndec{\pntxta.}
\fi-360\li480\sa50\sl0\slmult1 The first line\par The second line\par The third line\par
\pard\par normal text
}
Inconsistencies come when you try to end the list without a blank line between the last list item and the normal text - Word displays it correctly, but the RTB control still shows "normal text" as part of the list (i.e. number 4.) if you remove the \par after \pard.
Very often while coding, I need to search for keywords which are common and happen throughout a large file, but I am looking for an instance within a function.
The default search functionality often gives me all results starting from the top. Is there any way/workflow to search only within a specific method/function or block of code?
Update
Do Ctrl + F
Then Ctrl + Alt + E
Type the text to search
On MacOS, it's cmd instead of Ctrl
Original Post
You can do it like this (mentioned keymaps are for Linux):
Let's take as an example the following code, where we will be searching for the word "key" inside the method "clear". As you can see there are many occurrences of that word (in red, highlighted the ones we want in our results, and in blue other occurrences, which we do not want to appear in our search results)
1- Select the area you want to limit the search scope to.
2- Press Ctrl+Shift+F. It will pop up a search window with the selected text pre-filled in the search box.
3- Select the options "Scope" and, in the combo next to it, "Selection" (if they are not selected by default)
4- Type the word(s) you want to search (in this example, the key word).
5- The results shown will be limited to the selected area. Notice how there are only 9 matches in the upper right corner ("Match case" option is checked), despite in the same file there are many other occurrences of the same word.
However, I was neither able to find a key combination in order to do this as a single action nor assign a new one. Also, notice how the search includes the text in the method documentation.
Tested using IntelliJ IDEA 2018.1.4 (Ultimate Edition), Build #IU-181.5087.20 on Ubuntu 18.04
Looks like we're finally getting this feature in IDEA 2019.3:
https://blog.jetbrains.com/idea/2019/09/whats-new-in-intellij-idea-2019-3-eap-2/ (Ctrl-F for subtitle "Ability to search in a selected area when using the Find action")
It’s now possible to search only in a selected area using the Find action (cmd+F / Ctrl +F). Simply select the code piece you need in the editor and invoke the Find action and the IDE will perform the search only in the selected area.
Screenshot from the article (was a GIF originally)
There is a way to search inside a method, however, it doesn't seem to work for other scopes.
When searching in file as usual, click "Find all"
You'll get a list of results in the bottom panel. If you enable "Group by file structure" (I had it disabled by default), you can get a list of matches for a particular method.
On IntelliJ in Mac:
In a file select the specific block in which we want to find
something
Press CMD + F
Press CTRL + OPTION + G
Notice that the cursor has automatically landed in the find toolbar's text field
Type in what is intended to be found
Press enter to move the cursor
to the first occurrence.
I have big data at excel, and some cells contains html codes. These cells have line breaks in them. I tried to replace line breaks (Alt+010, \n) but excel said there is no char like this.
When I copied cell to notepad, there is no line break.
When I copied from notepad to phpmyadmin sql area or textpad, I see line breaks again.
There are notepad, textpad and phpmyadmin sql area screenshots below. How can I remove these invisible line breaks?
This could be a problem with Carriage Return + Line Feed. When you press Alt+Enter in Excel it only incerts a Line Feed. But if you somehow get both Carriage Return + Line Feed in a cell that could leed to additional problems. See this page for solutions:
https://www.ablebits.com/office-addins-blog/2013/12/03/remove-carriage-returns-excel/
Did you try to remove any unnecessary tab within the code? Also check for some trivial things like e.g string max length in your mysql database or editor's miscellaneous settings.
EDIT. oh, I forgot. It may be also caused by your language settings, check for default database's regional coding preset and if Turkish is currently supported.
Line breaks - do you mean the line breaks you could introduce in Excel with ALT+ENTER?
Then you could use Search / Replace option in Excel without need to copy your content to another tool:
Open it and introduce in Search for CTRL+J (you will receive a point displayed in the search field).
In Replace you could introduce what you want (nothing, a space, a semicolon, ...).
Select Replace all.
EDIT:
I've tested it by copying html from textpad to one cell using clipboard. With this the method described by me is not working.
But there is another solution: Open replace command, for "search string" introduce ALT-Key (keep it pressed), then introduce by using the numeric key pad (on the right side of a "standard" keyboard) the tree digits 0 1 0 and finally release ALT-Key (you will see a point displayed in the search field). Choose as replacement string what you want and choose replace all.
Function =clean() helped me. Find/replace with ALT+J worked to replace, but did not fully deleted all the invisible characters in the string, so the cell was still misbehaving with text in columns. The =clean() function finally removed all the invisible characters left there.
say, I want to search for a particular text withing a function block.
The present way, that i am implementing is selecting the block of code from within the function brackets with vi{ and then copying it and pasting it to a new file. After that I am searching for the text within the new file with /<search-text>
I want to know, if there is a short cut to this?
vi{
:'<,'>g/foo/#
The '<,'> range is inserted automatically.
See :help range and :help :g.
I think this might be what you are looking for:
Limiting search scope for code in Vim
Using /\%Vsearch pattern should get you what you want after you have selected the block of code you wish to search in. You enter visual mode by hitting v and moving the cursor around to highlight the block you are searching in.
The almost exact same question has been asked last week on vi.SE.
While \%V can restrict the search to the current visually selected text (which is the precise answer to your question, but not to your indirectly expressed need), selecting the current function is much more tricky than a simple vi{. A perfect and simple way to select the current function requires scripting. That's where my answer on vi.SE kicks in.