Okay, thanks, everybody. Now everything renders and moves correctly. No artifacts or gaps between tiles.
int movementVector = std::ceil(scrollSpeed * deltaTime);
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) { view2.move(0, -movementVector); }
else if(sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) { view2.move(0, movementVector); }
else if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) { view2.move(-movementVector, 0); }
else if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) { view2.move(movementVector, 0); }
Plus, I noticed if I enable VSync, the map scrolls smoothly, so what I need is indeed some kind of fixed-step timer.
Please note I'm extremely inexperienced, not formaly educated in cs and novice and take anything I say with a grain of salt.
I didn't intend to offend you in any way, I'm sorry if any of my replies seemed rude. And even if you're not experienced, you know way much more about C++ than me. And that's it, one of my biggest fault is that I was unable (and still not able) to understand the point of object-oriented programming. That's why I left programming a long time ago, I was fine with C, but I failed at C++ (and not even mentioning C#...).